【问题标题】:Error creating raw sockets创建原始套接字时出错
【发布时间】:2017-10-30 08:50:43
【问题描述】:

我正在尝试创建一个数据包嗅探器,为此我需要首先创建一个原始套接字。我运行代码,看看我是否可以先创建一个原始套接字。

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

【问题讨论】:

    标签: python windows sockets operating-system raw-sockets


    【解决方案1】:

    创建原始套接字需要提升权限。在启用了 UAC 的 Windows 上,用户默认以非特权模式运行程序。

    如果您在 Windows 命令提示符下运行脚本并选择“以管理员身份运行”选项,您可以授予脚本管理权限。

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 1970-01-01
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      相关资源
      最近更新 更多