计算机网络中各种报文、HEADER的读法
阅读原文时间:2023年07月08日阅读:1

计算机里到处都是格式,规范。比如《操作系统真象还原》里提到的“魔数”

直接出现的一个数字,只要其意义不明确,感觉很诡异,就称之为魔数。

拿elf文件头举例

ELF Header:
  Magic:        7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

这个Magic后面的一长串就是魔数,elf解析器(通常是程序加载器)用它来校验文件的类型是否是elf。

另一个例子是MBR的最后两个字节内容。主引导记录(MBR)最后的两个字节的内容是0x55,0xaa,这表明这个扇区里面有可加载的程序,BIOS就用它来检验该扇区是否可引导。

1

https://www.gigamon.com/content/dam/resource-library/english/guide---cookbook/gu-bpf-reference-guide-gigamon-insight.pdf

包括:

Berkeley Packet Filter语法

TCP HEADER – RFC 793

UDP HEADER – RFC 768

ICMP HEADER – RFC 792

IPv4 HEADER – RFC 791

IPv6 HEADER – RFC 2460

2

DNS(RFC 1035)报文结构

https://www2.cs.duke.edu/courses/fall16/compsci356/DNS/DNS-primer.pdf

COMPSCI 356: Computer Network Architecture这门课挺难的

3 RFC文档法

找到对应的RFC号(可能会有一大堆,找到关键的那些),然后去提供RFC文档的网站去查。

阅读RFC文档来了解报文报头,这一方法的缺点是:RFC文档介绍性的文字有点多,很难读。

可以按照这个url格式去ietf里查。

https://tools.ietf.org/pdf/rfc1035.pdf

https://tools.ietf.org/html/rfc1035

https://tools.ietf.org/rfc/rfc1035.txt

觉得看这些RFC文档还不够过瘾的可以去下面这个网站

http://www.cnpaf.net/class/rfcall/