使用python编写一个小的网络程序时,程序如下:
import scapy.all as scapy
def scan(ip):
    arp_request = ARP(pdst=ip)
    arp_request.show()
    broadcast = scapy.Ether(dst= "ff:ff:ff:ff:ff:ff")
    arq_request_broadcast = broadcast/arp_request
    answered,unanswered = scapy.srp(arq_request_broadcast, timeout=1)
    print(answered.summary)
if __name__ == '__main__':
    scan("192.168.0.105") 
总是报错 “scapy No such device exists (No such device exists)”
根据错误信息的提示,大概了解了,是由于winpcap的服务没有启动导致的。
首先,确保本地机器已经安装了winpcap。打开程序控制面板

其次,要找到winPcap的安装位置,这里可以使用一个比较好用的工具Everything,输入winpcap,找到winpcap的安装位置,如下:

然后,再使用命令行工具,进入到指定位置,运行rpcap.exe, 如下图:

这里虽然显示按CTRL+C停止服务器,但是,其实,按了CTRL+C之后,依然可以继续执行程序。
最后,再执行程序试试,就可以正确地执行了。




















