奇怪的IP包分析?
Strange IP packet analysis?
我用tcpdump 抓了一些tcp 数据包,根据ip/tcp 数据包模式分析它们时,数据包似乎被破坏了。这是我从 tcpdump 输出中得到的示例数据包。有人熟悉吗?
在ipv4下ip包的前4位不应该一直是0100吗?
ip 数据包:https://en.wikipedia.org/wiki/IPv4
一些示例:http://mike.passwall.com/networking/samplepacket.html
13:11:43.330397 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
172.16.0.14.16668 > 36.24.146.114.64853: Flags [S.], cksum 0xdc0f (correct), seq 3029391223, ack 129060479, win 14480, options [mss 1460,sackOK,TS val 1254469916 ecr 1492278057,nop,wscale 6], length 0
0x0000: feee 809f 3247 5254 0054 aa9f 0800 4500 ....2GRT.T....E.
0x0010: 003c 0000 4000 4006 d813 ac10 000e 2418 .<..@.@.......$.
0x0020: 9272 411c fd55 b490 d777 07b1 4e7f a012 .rA..U...w..N...
0x0030: 3890 dc0f 0000 0204 05b4 0402 080a 4ac5 8.............J.
uname -a
# Linux VM_0_14_centos 2.6.32-754.2.1.el6.x86_64 #1 SMP Fri Jul 13 12:50:12 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# tcpdump
tcpdump tcp -vv -XX -n -i eth0 port 16668
0x0000: feee 809f 3247 5254 0054 aa9f 0800 4500 ....2GRT.T....E.
前 14 个字节来自 link 层 (EN10MB)。 IP 层仅以 4500
开头,其中 4(二进制 0100)是描述版本号的前 4 位,即 IP 版本 4.
这些 link 图层数据是由 -XX
选项明确请求的,正如 David Hoelzer 在评论中指出的那样,OP 使用该选项。引用 tcpdump 的文档:
-XX When parsing and printing, in addition to printing the headers of each packet, print the data of each packet, including its link level header, in hex and ASCII.
我用tcpdump 抓了一些tcp 数据包,根据ip/tcp 数据包模式分析它们时,数据包似乎被破坏了。这是我从 tcpdump 输出中得到的示例数据包。有人熟悉吗?
在ipv4下ip包的前4位不应该一直是0100吗?
ip 数据包:https://en.wikipedia.org/wiki/IPv4
一些示例:http://mike.passwall.com/networking/samplepacket.html
13:11:43.330397 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
172.16.0.14.16668 > 36.24.146.114.64853: Flags [S.], cksum 0xdc0f (correct), seq 3029391223, ack 129060479, win 14480, options [mss 1460,sackOK,TS val 1254469916 ecr 1492278057,nop,wscale 6], length 0
0x0000: feee 809f 3247 5254 0054 aa9f 0800 4500 ....2GRT.T....E.
0x0010: 003c 0000 4000 4006 d813 ac10 000e 2418 .<..@.@.......$.
0x0020: 9272 411c fd55 b490 d777 07b1 4e7f a012 .rA..U...w..N...
0x0030: 3890 dc0f 0000 0204 05b4 0402 080a 4ac5 8.............J.
uname -a
# Linux VM_0_14_centos 2.6.32-754.2.1.el6.x86_64 #1 SMP Fri Jul 13 12:50:12 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# tcpdump
tcpdump tcp -vv -XX -n -i eth0 port 16668
0x0000: feee 809f 3247 5254 0054 aa9f 0800 4500 ....2GRT.T....E.
前 14 个字节来自 link 层 (EN10MB)。 IP 层仅以 4500
开头,其中 4(二进制 0100)是描述版本号的前 4 位,即 IP 版本 4.
这些 link 图层数据是由 -XX
选项明确请求的,正如 David Hoelzer 在评论中指出的那样,OP 使用该选项。引用 tcpdump 的文档:
-XX When parsing and printing, in addition to printing the headers of each packet, print the data of each packet, including its link level header, in hex and ASCII.