Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要帮助在Python中创建原始套接字吗_Python_Sockets_Python 2.7 - Fatal编程技术网

需要帮助在Python中创建原始套接字吗

需要帮助在Python中创建原始套接字吗,python,sockets,python-2.7,Python,Sockets,Python 2.7,我正在使用Python 2.7。我什么都试过了,但都没有联系。我得到的错误是: Socket could not be created. Error Code : 10013 Message An attempt was made to access a socket in a way forbidden by its access permissions. 我在打乒乓球 def doOnePing(destAddr, timeout): icmp = socket.getp

我正在使用Python 2.7。我什么都试过了,但都没有联系。我得到的错误是:

Socket could not be created. Error Code : 10013 Message An attempt was 
    made to access a socket in a way forbidden by its access permissions.
我在打乒乓球

def doOnePing(destAddr, timeout):
    icmp = socket.getprotobyname("icmp")
    # SOCK_RAW is a powerful socket type. For more details see: 
    # http://sock-raw.org/papers/sock_raw
    # Fill in start
    # Create Socket here
    try:
        #mySocket = socket.socket(2, 3, 1)
        # the public network interface
        HOST = socket.gethostbyname(socket.gethostname())

        # create a raw socket and bind it to the public interface
        mySocket = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
        mySocket.bind((HOST, 0))

        # Include IP headers
        mySocket.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)

        # receive all packages
        mySocket.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)

        # receive a package
        print mySocket.recvfrom(65565)

        print ('Connected by', destAddr)
    except socket.error , msg:
        print ('Socket could not be created. Error Code : ' + str(msg[0]) + 
              ' Message ' + msg[1])
    #Fill in end

尝试以特权用户身份运行脚本。Linux上的
root
用户是合适的

尝试以特权用户身份运行脚本。Linux上的
root
用户是合适的

您是否以root用户身份运行脚本?创建原始套接字通常是一项特权操作。您必须以管理员身份运行此脚本。我很确定您希望将
icmp
作为第三个参数传递给
socket.socket()
。您是否以root用户身份运行脚本?创建原始套接字通常是一项特权操作。您必须以管理员身份运行此脚本。我很确定你想把
icmp
作为第三个参数传递给
socket.socket()
。我想他们在Windows上,否则他们的脚本就不会使用
socket.ioctl
。我在Windows上,对不起,我想他们在Windows上,否则他们的脚本就不会使用
socket.ioctl
。对不起,我在Windows上