みんなはgoogle.comへのtcpdumpをテストしようとしています(ちなみにLinuxは初めてです)。
シェルに入力した内容は次のとおりです。
$tcpdump src 192.168.1.xxx and dst www.google.com and port ftp
しかし、私はこのエラーを受け取ります:
tcpdump: no suitable device found
何が原因でしょうか?
tcpdump
は、ネットワークインターフェイス(イーサネットまたはwifi)またはusbポートなどに出入りするパケットをキャプチャするためのものです。リッスンするインターフェイスを指定する必要があります。コマンドifconfig
を使用して、システムに存在するすべてのネットワークインターフェイスの名前を把握します。私のコンピューターでは、ifconfigコマンドで次のようになります。
eth6 Link encap:Ethernet HWaddr 08:00:27:9a:24:9d
inet addr:10.0.0.21 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:69 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7131 (7.1 KB) TX bytes:1350 (1.3 KB)
Interrupt:10 Base address:0xd020
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:400 (400.0 B) TX bytes:400 (400.0 B)
これは私のイーサネットインターフェースの名前をeth6
として示しています。 IPv4アドレスが10.0.0.21として割り当てられていることに気付くでしょう。これは、(WiFiルーターへの)ネットワーク接続が正常に機能していることを示しています。
したがって、次のコマンドを発行します。Sudo tcpdump -i eth6 dst www.google.com
これにより、eth6に出入りするすべてのパケットをキャプチャするtcpdumpが開始されますが、www.google.com宛てのこのパケットのみが表示されます。
次に、www.google.comへの接続を作成する必要があるため、別のターミナルウィンドウで次のように入力します。wget www.google.com
これにより、google.comからホームページ(index.html)が取得されます。
Tcpdumpのターミナルウィンドウに戻ると、次のようになります。
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth6, link-type EN10MB (Ethernet), capture size 65535 bytes
15:05:50.436200 IP anurag-VirtualBox.33365 > maa03s05-in-f16.1e100.net.www: Flags [S], seq 4292128566, win 5840, options [mss 1460,sackOK,TS val 4294949922 ecr 0,nop,wscale 6], length 0
15:05:50.493477 IP anurag-VirtualBox.33365 > maa03s05-in-f16.1e100.net.www: Flags [.], ack 2638988837, win 92, options [nop,nop,TS val 4294949936 ecr 123640815], length 0
15:05:50.494124 IP anurag-VirtualBox.33365 > maa03s05-in-f16.1e100.net.www: Flags [P.], seq 0:112, ack 1, win 92, options [nop,nop,TS val 4294949936 ecr 123640815], length 112
15:05:50.596428 IP anurag-VirtualBox.33365 > maa03s05-in-f16.1e100.net.www: Flags [.], ack 1013, win 123, options [nop,nop,TS val 4294949962 ecr 123640915], length 0
15:05:50.901037 IP anurag-VirtualBox.33365 > maa03s05-in-f16.1e100.net.www: Flags [F.], seq 112, ack 1013, win 123, options [nop,nop,TS val 4294950038 ecr 123640915], length 0
15:05:50.956092 IP anurag-VirtualBox.33365 > maa03s05-in-f16.1e100.net.www: Flags [.], ack 1014, win 123, options [nop,nop,TS val 4294950052 ecr 123641277], length 0
^C
6 packets captured
10 packets received by filter
0 packets dropped by kernel
ネットワークデバイスに直接アクセスするには、おそらくスーパーユーザーとして実行する必要があります。
コマンドをsudoします。
編集:明確にするために、そのtcpdump
コマンドもあまり有用な情報を提供しません。これを試して:
Sudo tcpdump Host stackoverflow.com
または、Sudo
が利用できない場合:
su - ; tcpdump Host stackoverflow.com