我正在捕获 tcpdump 数据包。但是,当我想通过 tcpdump -r 查看输出时,我看到的是目标主机名而不是地址 IP,服务名称而不是端口号。
例子:
tcpdump -w /home/backup/out.bin -nn -i ens192 '(dst port 80)'
一分钟后按 Ctrl + C 停止该过程
然后:
tcpdump -r /home/backup/out.bin
表明:
12:01:28.079940 IP 192.168.1.20.50704 > app.server.http: Flags [.], ack 4196894497, win 229, options [nop,nop,TS val 875454090 ecr 3736039484], length 0
12:01:28.080841 IP 192.168.1.20.50704 > app.server.http: Flags [.], ack 93, win 229, options [nop,nop,TS val 875454091 ecr 3736039485], length 0
12:01:28.080863 IP 192.168.1.20.50704 > app.server.http: Flags [P.], seq 0:95, ack 93, win 229, options [nop,nop,TS val 875454091 ecr 3736039485], length 95
它应该显示 IP 地址和端口号而不是 app.server.http。
对于这个案子我能做些什么?
答案1
捕获的数据本身确实包含 IP 地址和端口号。但是,tcpdump
在显示过程中会对 IP 地址和端口号进行反向查找。可以使用-n
来禁用反向查找。
因此,你应该使用
tcpdump -n -r /home/backup/out.bin
显示捕获的内容。