IPTABLE规则获取promisc模式下的所有网络数据包

问题描述:

我在我的机器上运行Ubuntu,并且想要编写一些嗅探器脚本。但是,即使我在promisc模式下运行我的接口,我也只接收与我的NIC相关的数据包。是否有任何IPTABLE规则,我需要穿上,以便我可以在网络上获得entrie数据包? 请帮忙。 我正在使用Python的一切,如果它有帮助IPTABLE规则获取promisc模式下的所有网络数据包

在现代交换网络中,你的系统通常只会看到两种类型的流量:明确指向您的系统的单播流量和广播流量所有系统都可以看到。您可以在代码中执行的任何操作都不会让网络上的其他流量看到您。在这种情况下在你的界面上启用混杂模式将会为你提供很少的额外流量。

在带有共享总线的网络中(例如WifI),或者在过去我们使用集线器而不是交换机的情况下,情况并非如此。

Netfilter - 您使用iptables命令操作的Linux防火墙 - 实际上仅在第3层(ip)级别上运行,并且不会影响接口可见的通信量。

+0

然后,我将直接从我的系统(如代理服务器)的流量来做这些东西...我是对的 –

+0

如果它是真的,ETTERCAP,wireshark如何能够记录网络流量? –

+0

他们记录您的界面上可见的网络流量。如果在你的主机上运行wireshark网络流量,你无法看到你的Python代码,至少可以确定问题出在你的代码上,而不是用'iptables'。 – larsks