我正在捕獲 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
顯示捕獲。