我在用PYTHON编写一个嗅探脚本时候出现的一个小问题,贴上原代码
import socket
import os
#监听的主机
host = "127.0.0.1"
#创建原始套接字,然后绑定在公开接口上
if os.name == "nt":
socket_protocol = socket.IPPROTO_IP
else:
scoket_protocol = socket.IPPROTO_ICMP
sniffer = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket_protocol)
sniffer.bind((host,0))
#设置在捕获的数据包中包含IP头
sniffer.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
#在windows上,我们设置IOCTL以启用混杂模式
if os.name == "nt":
sniffer.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)
#读取单个数据包
print sniffer.recvfrom(65565)
#在windows平台上关闭混杂模式
if os.name == "nt":
sniffer.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)
运行时候提示:
File "e:\python\sniffer.py", line 14, in
sniffer = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket_protocol)
File "F:\python\Lib\socket.py", line 191, in init
_sock = _realsocket(family, type, proto)
socket.error: [Errno 10013]
我百度到的说是端口被占用的问题,可是我找不到我的python服务所占用的端口号,特来求助,这个错误应该怎么解决,多谢