Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python windows接口的GUID编号给出错误:ValueError:未知网络接口';{1619EEF1-4D71-4831-87AC-8E5DC3AA516A}';_Python_Scapy - Fatal编程技术网

Python windows接口的GUID编号给出错误:ValueError:未知网络接口';{1619EEF1-4D71-4831-87AC-8E5DC3AA516A}';

Python windows接口的GUID编号给出错误:ValueError:未知网络接口';{1619EEF1-4D71-4831-87AC-8E5DC3AA516A}';,python,scapy,Python,Scapy,导入scapy版本2.4.0。我的项目只使用2.4.0版 import scapy.all as scapy import sys 通过使用IP地址,此函数返回目标的相关MAC地址 def get_mac(ip): arp_request = scapy.ARP(pdst=ip) broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff") arp_request_broadcast = broadcast/arp_request

导入scapy版本2.4.0。我的项目只使用2.4.0版

import scapy.all as scapy
import sys
通过使用IP地址,此函数返回目标的相关MAC地址

 def get_mac(ip):
   arp_request = scapy.ARP(pdst=ip)
   broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
   arp_request_broadcast = broadcast/arp_request
   answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
   return answered_list[0][1].hwsrc

 def sniff(interface):
   scapy.sniff(iface=interface, store=False, prn=process_sniffed_packet)
此功能检查默认网关MAC地址是否等于我的电脑的MAC地址表。如果没有,它会说“[+]你受到了攻击

 def process_sniffed_packet(packet):
    if packet.haslayer(scapy.ARP) and packet[scapy.ARP].op == 2:
       count = 1
       try:
          real_mac = get_mac(packet[scapy.ARP].psrc)
          response_mac = packet[scapy.ARP].hwsrc

          if real_mac != response_mac:
              count = count+1
              print(str(count) + "[+] You are under attack!!")
              sys.stdout.flush()
      except IndexError:
          pass
在Linux中,我们可以使用像“etho”这样的值,但在windows中,我必须使用GUID值来获得结果

sniff('{1619EEF1-4D71-4831-87AC-8E5DC3AA516A}')
但此代码返回错误

这就是提出的错误

 raise ValueError("Unknown network interface %r" % name)
 ValueError: Unknown network interface '{1619EEF1-4D71-4831-87AC- 
 8E5DC3AA516A}'

在Windows上,您需要提供完整的接口名称/对象,以便能够对其进行嗅探

首先,使用Scapy shell中的IFACES.show()查看可用内容

然后,要获取接口,您可以使用:

  • iface=IFACES.dev_from_name(“…”)
    (或
    dev_from_pcapname
    dev_from_id
    …查看帮助(IFACES)以查看可用内容)
  • iface=“上面打印的全名”
然后通过
嗅探(iface=iface)
使用它

您可以提供pcap_名称,但不能提供GUID:例如,它类似于
\\Device\\NPF_uuu{…}
,而不仅仅是
{…}


此外,请使用scapy 2.4.3rc1(或至少2.4.2)确保您在Windows上是最新的,您需要提供完整的接口名称/对象,以便能够嗅探它

首先,使用Scapy shell中的IFACES.show()查看可用内容

然后,要获取接口,您可以使用:

  • iface=IFACES.dev_from_name(“…”)
    (或
    dev_from_pcapname
    dev_from_id
    …查看帮助(IFACES)以查看可用内容)
  • iface=“上面打印的全名”
然后通过
嗅探(iface=iface)
使用它

您可以提供pcap_名称,但不能提供GUID:例如,它类似于
\\Device\\NPF_uuu{…}
,而不仅仅是
{…}


此外,请使用scapy 2.4.3rc1(或至少2.4.2)为了确保您是最新的

我通过安装解决了
scapy
错误
ValueError:Unknown network interface
windows
上通过安装解决了
scapy
错误
ValueError:Unknown network interface
是的,您需要运行WinPcap或NpcapWindows上基于libpcap的软件。是的,您需要WinPcap或Npcap在Windows上运行基于libpcap的软件。