就像标题所说:这在 Linux 中可能吗?如何实现一个完全静默的数据包嗅探器?如果可能的话,我想把接口拿走并随意归还给操作系统。目前,操作系统会造成阻碍,因为 eth0 是相关机器上唯一的网络接口,Linux 会尝试通过 DHCP 请求连接。
答案1
是的,这至少是部分可能的。
首先,你需要弄清楚接口的“接口名称”。该命令ifconfig -a
(可能/sbin/ifconfig -a
)显示所有接口。做出明智的选择。
其次,您必须识别并停止在该接口上使用 DHCP 的进程。这可能是dhcpcd
,dhclient
甚至可能是pump
。运行ps -ef
尝试识别此类进程的进程 ID。用来kill -QUIT
阻止他们。请记住,您的设置可能会在下次重新启动时重新启动 DHCP 客户端。
您应该/var/run
查找“PID 文件”。例如,我的 Arch Linux 笔记本电脑有一个文件,其中包含管理“wlp12s0”接口的进程/var/run/dhcpcd-wlp12s0-4.pid
的进程 ID 。dhcpcd
这是无线卡,但以太网卡也存在相同类型的文件。
如果您希望嗅探无线数据包,最好使用[kismet][1]
或[airodump-ng][2]
。遵循教程 - 使用并不完全简单或明显。
如果您希望在不被发现的情况下嗅探以太网数据包,您应该注意一些争议 存在关于这是否可能的或者不是。使用“只读”电缆会阻止某些混杂模式接口检测方法。这个方法对我有用,有些人说它并不总是有效。您确实需要两个以太网接口来读取双向流量。