我有以下代码:
import socket
sniffer = socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_IP)
sniffer.bind(("",0))
sniffer.ioctl(socket.SIO_RCVALL,socket.RCVALL_ON)
data = sniffer.recvfrom(65535)
print(f"RECVD : {data}")
sniffer.ioctl(socket.SIO_RCVALL,socket.RCVALL_OFF)
其中,我尝试在 windows 中启用 promiscuous
sniffer.ioctl(socket.SIO_RCVALL,socket.RCVALL_ON)
但是当我运行代码时,我得到以下 OSError:
[WinError 10022] 提供的参数无效
快速说明:我通过特权 shell 运行代码。
PS:如果之前有人以某种隐含的形式提出过这个问题,请原谅,因为我已经尽了自己的一份力量,但没有发现任何相关的东西