伙计们,我正在尝试测试 google.com 的 tcpdump(顺便说一下,我是 Linux 新手)。
以下是我在 shell 中输入的内容:
$tcpdump src 192.168.1.xxx and dst www.google.com and port ftp
但我收到此错误:
tcpdump: no suitable device found
各位,这可能是什么原因造成的?
答案1
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
这将启动 tcpdump,它将捕获流入和流出我的 eth6 的所有数据包,但它将仅显示发往 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
答案2
您可能需要以超级用户身份执行才能直接访问网络设备。
该命令。
编辑:澄清一下,该tcpdump
命令也不会给你提供太多有用的信息。试试这个:
sudo tcpdump host stackoverflow.com
或者,如果sudo
不可用:
su - ; tcpdump host stackoverflow.com