您的位置:首页 > 理论基础 > 数据结构算法

Linux下tcpdump和Wireshark抓包的数据结构

2016-01-29 17:37 211 查看
抓取n个数据包,pcap文件组成:

->24B文件头|->数据包1

|->数据包2



|->数据包n

->数据包i|->数据包头

|->数据段

1,文件头-24B

4B-一般为:D4 C3 B2 A1(hex),表示主机号等信息

4B-一般为:02 00 04 00(hex),版本号

8B-一般全零

4B-snaplen,抓包时抓取的数据长度

4B-网络类型

2,数据包i

2.1 数据包头-16 B

8B-时间戳 |->4B-数据包抓获时间戳

|->4B-数据包抓获的微秒值

4B-抓获的包长度lens

4B-数据包的实际长度

2.2 数据段-lens B

2.2.1 以太网头部信息-14B

6B-目标MAC地址

6B-源MAC地址

2B-类型,如IP即为0x0080,才会出现如下的IPV4/6。其他如ARP则为0x0806

2.2.2 IPV4/6头部信息-20B

1B-头部长度,固定为20B

1B-Differentiated Services Field,一般是0x00

2B-数据总长度total=lens-14B

2B-ID

2B-数据段位移

1B-生存时间

1B-协议:tcp=0x06,udp = 0x11及其他

2B-头部checksum校验和

4B-源IP地址

4B-目的IP地址

2.2.3 TCP-20B/UDP-8B

如果是TCP:

2B-源端口号

2B-目的端口号

4B-队列号

4B-确认号

2B-flags

2B-窗户大小

2B-checksum校验和

2B-urgent

长度是total-40,表示接下来数据段Byte数

如果是UDP:

2.2.4 HTTP/OICQ

如果 2.2.3是TCP,则2.2.4是HTTP:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wireshark