我正在尝试创建数据包嗅探器,为了做到这一点,我需要先创建一个原始套接字。我运行代码,看看我是否可以先创建一个原始套接字。
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_RAW)
但是在运行代码时,我的解释器会遇到错误。
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
s = socket.socket(socket.AF_INET, socket.SOCK_RAW)
File "C:\Python\Python35\lib\socket.py", line 134, in __init__
_socket.socket.__init__(self, family, type, proto, fileno)
OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
显然我的操作系统是Windows 10,不允许我创建原始套接字。如何在不使用其他类型的操作系统的情况下修复此问题?注意:我正在使用python 3.6.0
答案 0 :(得分:1)
创建原始套接字需要提升权限。在启用了UAC的Windows上,默认情况下,用户以非特权模式运行程序。
如果在Windows命令提示符下运行脚本并选择&#34;以管理员身份运行&#34>,则可以为脚本授予管理权限。选项。