web-dev-qa-db-ja.com

tcpdumpがデータをキャプチャしていないようです、なぜですか?

私はtcpdumpでデータをキャプチャしようとしています:

$ Sudo tcpdump -Xi eth0

デバイスとPCを接続しています。両側で、相手にメッセージを送信する単純なテストアプリケーションを起動します。

問題は、両方の側がメッセージを受信して​​も、tcpdumpが何も出力しなかったことです。 ARP要求だけが時々見られます(現在LANに接続されていない別のPCに対するARP要求)

$  ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0f:ea:62:ce:d6  
          inet addr:10.5.57.197  Bcast:10.5.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20f:eaff:fe62:ced6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:66497 errors:0 dropped:4334 overruns:0 frame:0
          TX packets:3785 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6539170 (6.5 MB)  TX bytes:553828 (553.8 KB)
          Interrupt:21 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:529 errors:0 dropped:0 overruns:0 frame:0
          TX packets:529 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:71721 (71.7 KB)  TX bytes:71721 (71.7 KB)
2
Hi-Angel

パケットをキャプチャし、<file>.pcap拡張子の付いたファイルに書き込んでから、wiresharkで開くことをお勧めします。

たとえば、CentOSでパケットをキャプチャするには:

$ tcpdump -i eth0 -s 1500 -w /root/<filename.pcap>
3
vallikkv

これに遭遇した人のための別の良い答えはここにあります https://stackoverflow.com/questions/3130911/tcpdump-localhost-to-localhost 、表示されていないトラフィックがlocalhostの場合-> localhostトラフィック。他の状況ではそうしなければならなかったような気がしますが、少なくとも数回はしなければなりませんでした。

2
Isaac