我正在尝试将 HTTP 流量传输到文件中的端口 8007,然后再查看它们。
# tcpdump -i eth0 -s0 -n -w /tmp/capture port 8007 &
# tcpdump -r /tmp/capture -A | grep '10.2.1.50'
Run Code Online (Sandbox Code Playgroud)
我希望看到 ASCII 格式的数据包数据,但这并没有发生。我得到的是这样的:
23:03:16.819935 IP 10.2.1.50.8007 > 10.2.1.120.57469: . ack 1369 win 272 <nop,nop,timestamp 188139705 215355175>
23:03:16.819943 IP 10.2.1.120.57469 > 10.2.1.50.8007: P 1369:1592(223) ack 1 win 12 <nop,nop,timestamp 215355175 188139703>
23:03:16.819947 IP 10.2.1.50.8007 > 10.2.1.120.57469: . ack 1592 win 272 <nop,nop,timestamp 188139705 215355175>
23:03:17.029587 IP 10.2.1.50.8007 > 10.2.1.120.57469: P 1:780(779) ack 1592 win 272 <nop,nop,timestamp 188139758 215355175>
23:03:17.029736 IP 10.2.1.50.8007 > 10.2.1.153.49989: F 822:822(0) ack 3494 win 272 <nop,nop,timestamp 188139758 1641992210>
23:03:17.040759 IP 10.2.1.120.57469 > 10.2.1.50.8007: . ack 780 win 15 <nop,nop,timestamp 215355396 188139758>
23:03:17.079305 IP 10.2.1.153.49989 > 10.2.1.50.8007: . ack 823 win 15 <nop,nop,timestamp 1642053303 188139758>
Run Code Online (Sandbox Code Playgroud)
如何修复写入或读取以查看实际内容?我尝试了其他选项,例如 -v 但这不适用于内容。我正在使用 SLES 11 SP2。这tcpdump是正确的工具吗?
非常感谢。
- 编辑
# tcpdump --version
tcpdump version 3.9.8
libpcap version 0.9-PRE-CVS
Run Code Online (Sandbox Code Playgroud)
我也尝试使用 -X 选项,但仍然看不到有效负载数据。
小智 18
使用tcpdump -X
例如(适用于我使用的 Fedora/Centos):
sudo tcpdump -nvvvXi br0
13:29:20.311228 00:1c:73:86:12:f9 > 01:00:5e:00:01:81, ethertype IPv4 (0x0800), length 86: (tos 0x0, ttl 5, id 0, offset 0, flags [none], proto UDP (17), length 72)
10.134.245.1.ptp-general > 224.0.1.129.ptp-general: Ptp MessageType: Follow_Up, SequenceId: 8208
0x0000: 4500 0048 0000 0000 0511 d49c 0a86 f501 E..H............
0x0010: e000 0181 0140 0140 0034 0cd0 0802 002c .....@.@.4.....,
0x0020: 0100 0000 0000 0000 0000 0000 0000 0000 ................
0x0030: 444c a8ff ffc7 1f6b 0236 2010 0200 0000 DL.....k.6......
0x0040: 5f2a b430 0d5e b480 _*.0.^..
Run Code Online (Sandbox Code Playgroud)
Kal*_*mar 12
您只能看到标头而不是数据包内容,因为您将输出通过管道传输到 grep。所以它只是获取存在 IP 地址的行。
-A选项也tcpdump提供数据包内容。