socket编程遭遇socket.error: [Errno 10013]错误?

发布于 2022-09-04 11:47:54 字数 917 浏览 8 评论 0

编写原始套接字程序,代码如下

import socket
import os

HOST = '192.168.0.101'

def sniffing(host,win,socket_port):
    while 1:
        sniffer = socket.socket(socket.AF_INET,socket.SOCK_RAW,socket_port)
        sniffer.bind((host,0))

        sniffer.setsockopt(socket.IPPROTO_IP,socket.IP_HDRINCL,1)

        if win == 1:
            sniffer.ioctl(socket.SIO_RCVALL,socket_RCVALL_ON)

        print sniffer.recvfrom(65565)

def main(host):
    if os.name == 'nt':
        sniffing(host,1,socket.IPPROTO_IP)
    else:
        sniffing(host,0,socket.IPPROTO_ICMP)

if __name__ == '__main__':
    main(HOST)

报错:

clipboard.png

我上网查说是端口被占用,一开始查询80端口占用情况发现时系统进程占用,后来修改注册表后系统占用的问题解决,但是还是无法运行,依然显示这个错误。我的是Win10系统,改用Linux后就没有这个问题,请问这是为什么?如果非要在Win10上写这个程序应该怎么改?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

层林尽染 2022-09-11 11:47:55

你用管理员权限运行这个程序试试

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文