我正在使用TCPDUMP拦截Android设备上的网络流量。 我使用的命令是
./tcpdump -tt -nn -vv tcp > tcp.log
在结果文件(tcp.log)中,我发现不仅有TCP数据包,还有其他一些具有以太网地址的数据包。 (由于隐私目的,某些IP和以太网地址被混淆)。
1410451676.980763 IP (tos 0x0, ttl 41, id 0, offset 0, flags [DF], proto TCP (6), length 60)
54.204.ABC.144.80 > 172.31.DEF.178.59949: Flags [S.], seq 572870324, ack 3778403975, win 17898, options [mss 1380,sackOK,TS[|tcp]>
1410451676.980916 IP (tos 0x0, ttl 64, id 44656, offset 0, flags [DF], proto TCP (6), length 52)
172.31.DEF.178.59949 > 54.204.ABC.144.80: Flags [.], seq 1, ack 1, win 1369, options [nop,nop,TS[|tcp]>
1410451676.982167 IP (tos 0x0, ttl 64, id 44657, offset 0, flags [DF], proto TCP (6), length 701)
172.31.DEF.178.59949 > 54.204.ABC.144.80: Flags [P.], seq 1:650, ack 1, win 1369, options [nop,nop,TS[|tcp]>
1410451676.996114 00:24:f9:c3:XX:00 > d8:50:e6:2b:YY:6a, ethertype IPv6 (0x86dd), length 86:
0x0000: 6000 0000 0020 0634 2607 f8b0 400d 0c03 `......4&...@...
0x0010: 0000 0000 0000 00bc 2001 0468 0c80 4340 ...........h..C@
0x0020: b040 b100 7831 4228 146c c1cc ceb8 fc7a .@..x1B(.l.....z
1410451677.000783 00:24:f9:c3:XX:00 > d8:50:e6:2b:YY:6a, ethertype IPv6 (0x86dd), length 535:
0x0000: 6000 0000 01e1 0634 2607 f8b0 400d 0c03 `......4&...@...
0x0010: 0000 0000 0000 00bc 2001 0468 0c80 4340 ...........h..C@
0x0020: b040 b100 7831 4228 146c c1cc ceb8 fc7a .@..x1B(.l.....z
1410451677.000935 d8:50:e6:2b:YY:6a > 00:24:f9:c3:XX:00, ethertype IPv6 (0x86dd), length 86:
0x0000: 6000 0000 0020 0640 2001 0468 0c80 4340 `......@...h..C@
0x0010: b040 b100 7831 4228 2607 f8b0 400d 0c03 .@..x1B(&...@...
0x0020: 0000 0000 0000 00bc c1cc 146c 3b74 2fa9 ...........l;t/.
1410451677.011006 IP (tos 0x0, ttl 41, id 62137, offset 0, flags [DF], proto TCP (6), length 52)
54.204.ABC.144.80 > 172.31.DEF.178.59949: Flags [.], seq 1, ack 650, win 75, options [nop,nop,TS[|tcp]>
在常规TCP数据包标头中,结果包括其时间戳(UNIX时间),IP数据包标志+选项,源IP地址+端口,目标IP地址+端口和TCP标志。
但是,我不明白的是,中间有一些以太网数据包,根据结果,这些数据包包括它们的MAC地址,而不是IP地址。 为什么会这样?它们是TCP数据包吗?
感谢您的回答/见解。
答案 0 :(得分:1)
所有这些数据包都是以太网数据包。
您正在使用的tcpdump版本显然不是基于IPv6支持构建的,因此,虽然它可以识别以太网上的IPv4数据包并打印出IP信息,但它无法识别IPv6-over-以太网数据包,只打印出以太网层信息。
你应该问问谁建立了那个版本的tcpdump,为什么它不包含IPv6支持。