windows下用python 3 写udp端口探测时,使用SOCK_RAW没有root权限怎么办?
非常简单的代码如下:
import socket
if __name__ == '__main__':
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
host = 'www.baidu.com'
ip = socket.gethostbyname(host)
port = 80
print(ip)
address = (ip,port)
message = 'abc'
s.sendto(message.encode(),address)
icmp = socket.getprotobyname("icmp")
print(icmp)
try:
sock_icmp = socket.socket(socket.AF_INET,socket.SOCK_RAW,icmp)
except:
print(socket.error)
recPacket,addr = sock_icmp.recvfrom(64)
print(recPacket)
运行时会报错:
试过用管理员身份运行cmd,然后执行这个脚本,但是结果一样。
百度了很久,一直没找到解决办法。
希望会的童鞋指点一下,不胜感激。
或者你觉得我的udp端口探测这样写错了,也欢迎指出交流。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
楼主啊,你这不是没权限,而是未定义啊。能否把OSError详细信息贴下