需要帮助在Python中创建原始套接字吗
我正在使用Python 2.7。我什么都试过了,但都没有联系。我得到的错误是:需要帮助在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
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上