我试图通过WiFi进行ARP扫描。我正在获取可用的网络接口列表,如下所示:
def GetListOfAvailableNetworkInterfaces():
Result = None
c = wmi.WMI()
qry = "select Name from Win32_NetworkAdapter where NetEnabled = True and
NetConnectionStatus = 2"
Result = [o.Name for o in c.query(qry)]
return Result
当我通过WiFi连接时,我得到了这个界面名称:
Intel(R) Dual Band Wireless-AC 3165.
我通过路线打印检查 - 这样的界面存在。 get_if_list()返回相同的内容,我从中得出结论是接口有效。我发送这样的ARP请求:
srp( Ether( dst = "ff:ff:ff:ff:ff:ff" ) / ARP( pdst = "192.168.0.0/24" ), timeout = 2, verbose = 0, iface = GetListOfAvailableNetworkInterfaces()[0])
问题是答案没有到来,但如果我做的一切都一样,但是打开电缆,答案就来了,这是我连接电缆的适配器:
Qualcomm Atheros AR8171/8175 PCI-E Gigabit Ethernet Controller (NDIS 6.30)
在指定的地址范围内,有保证的主机。在无线连接的情况下我做错了什么?
我的操作系统:Windows 10 x64