我在Windows 7上使用Python 2.6嗅探scapy 2.2。有没有办法可以识别嗅探包的界面?我想过使用mac地址来识别它,但有没有办法用scapy做到这一点?
像这样的东西(不起作用) -packet = sniff(count=1, iface='eth0')[0]
print packet.iface # prints 'eth0'
答案 0 :(得分:2)
界面名称' ethX'在Linux世界中使用,所以对于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.
有关嗅探(Scapy Docs)
的详细信息答案 1 :(得分:2)
在scapy中,捕获的数据包的接口名称存储在属性sniffed_on中,例如:
function filter_list(l) {
l.map((item, i, main) => {
if (typeof item == "string") main[i] = null
})
return l;
}
console.log(filter_list([1, 'a', 'b', 'c', 0, 15, 'k', 'e']))
答案 2 :(得分:0)
我几乎不怀疑,主要是因为接口(在大多数情况下,NIC,除非你在谈论虚拟机)不是数据包属性。想一想:哪个协议使用接口? TCP? HTTP?以太网?
MAC方式将起作用,您可以使用IP地址执行相同操作(每个NIC可以拥有自己的IP,考虑具有多个端口的路由器)。
在Windows机器中,您可以使用ipconfig查看界面(或ipconfig / all以获取更多信息,如MAC地址)。看看这个链接: http://www.maketecheasier.com/view-network-adapter-details-in-windows/