我正在创建一个数据包嗅探器(是的,socket
的困难方式),并使用以下代码:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)
while True:
print(s.recvfrom(2048))
给出这个错误:OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
。通过删除不同的东西,我确定使用原始套接字(socket.SOCK_RAW
)是问题所在,但除此之外别无选择。有人能解释一下为什么我得到这个错误以及如何摆脱它吗?
确保文件正在与admin一起运行。