Scapy - 一个被嗅探数据包的接口

7

我正在使用Python 2.6在Windows 7上使用Scapy 2.2进行嗅探。有没有办法识别被嗅探数据包的接口?我考虑使用MAC地址来识别它,但是是否可以使用Scapy来实现呢?

类似这样的代码(不起作用) -

packet = sniff(count=1, iface='eth0')[0]
print packet.iface  # prints 'eth0' 
3个回答

4
在scapy中,捕获数据包的接口名称存储在属性sniffed_on中,例如:
    packet.sniffed_on

2
正确的答案,谢谢。额外提示:除非你提供sniffiface参数,否则.sniffed_onNone - Brendan

2

在Linux世界中使用接口名称“ethX”,所以我认为在Windows下可能有不同的名称(我没有在Windows下测试过Scapy),为此请尝试执行以下操作:

>>> ifaces
This will show how Scapy has determined the usable network interfaces on your system (and will most likely not be correct in your case). It's the bases for the Windows-specific 'show_interfaces()' command.

了解更多关于sniff的细节(Scapy文档


我想知道我捕获的数据包来自哪个接口。 - ori

0

我非常怀疑这一点,主要是因为接口(在大多数情况下是NIC - 除非你谈论的是VM)不是数据包属性。想想看:哪个协议使用接口?TCP?HTTP?以太网?

MAC方式将起作用,您可以使用IP地址执行相同操作(每个NIC都可以拥有自己的IP,考虑具有多个端口的路由器)。

在Windows机器上,您可以使用ipconfig(或ipconfig / all以获取更多信息,如MAC地址)查看您的接口。请查看此链接: http://www.maketecheasier.com/view-network-adapter-details-in-windows/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接