2 x nirvana x_nirvana 于 2016.03.05 00:05 提问

PYTHON网络编程遇到的问题
我在用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服务所占用的端口号,特来求助,这个错误应该怎么解决,多谢

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.05 02:31

sniffer.bind((host,0))
0,是80吧。

x_nirvana
x_nirvana 0的意思是让操作系统分配端口号
2 年多之前 回复
snowyli_1989
snowyli_1989   2017.11.28 18:22

楼主解决了吗?
我也遇到这个问题,实际报错的并不是bind这个方法,跟绑定什么端口没关系,在获取实例的时候就报错了。sniffer = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket_protocol) 也就是这一行。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Python网络编程 5.2 网络异常及ch.5小结
使用网络连接时可能发生的错误数量相当大(TCP/IP协议相当复杂,每一步都可能出错),但是程序在进行套接字操作的时候抛出的实际异常数量并不多。针对套接字操作而发生的异常如下。OSError:这是socket模块中可能抛出的主要错误,网络传输的所有阶段可能发生的任何问题几乎都会抛出该异常。OSError几乎会再任何套接字调用时都不期而至。例如,如果send()调用使得远程主机发出了一个重置(RST)
python 网络编程中遇到的问题
练习使用标准库中的一个高级模块SocketServer创建网络客户端和服务器。 创建socketserver TCP服务器的代码如下: from socketserver import (TCPServer as TCP, StreamRequestHandler as SRH) from time import ctime HOST = '' PORT = 21567 ADDR
Python网络编程第三版(中文版)高清
Python网络编程第三版(中文版)高清 Python网络编程第三版(中文版)高清 Python网络编程第三版(中文版)高清
PYTHON网络编程基础+pdf版.rar
PYTHON网络编程基础+pdf版.rar Python [1] (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。 Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。 Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
Python网络编程第三版(中文PDF+源码打包)
Python网络编程(第3版)针对想要深入理解使用Python来解决网络相关问题或是构建网络应用程序的技术人员,结合实例讲解了网络协议、网络数据及错误、电子邮件、服务器架构和HTTP及Web应用程序等经典话题。具体内容包括:全面介绍Python3中新提供的SSL支持,异步I/O循环的编写,用Flask框架在Python代码中配置URL,跨站脚本以及跨站请求伪造攻击网站的原理及保护方法,等等。
python网络编程第三版(中文版)高清PDF
书针对想要深入理解使用Python来解决网络相关问题或是构建网络应用程序的技术人员,结合实例讲解了网络协议、网络数据及错误、电子邮件、服务器架构和HTTP及Web应用程序等经典话题。具体内容包括:全面介绍Python3中新提供的SSL支持,异步I/O循环的编写,用Flask框架在Python代码中配置URL,跨站脚本以及跨站请求伪造攻击网站的原理及保护方法,等等。
Python网络编程 第三版
Python网络编程基础最新版,使用Python3,是入门的极佳图书。高清完整版。
Python网络编程 第三版 高清完整.pdf版下载
Python网络编程 第三版 扫描版 “从应用开发角度介绍网络编程”
python网络编程第3版pdf
Python是一种功能十分强大的面向对象编程语言,可以用于编写独立程序、快速脚本和复杂应用的原型。作为一种开源软件,Python可以自由获取,而且非常易学易用。本书是Python语言的经典入门读本,由两名顶尖的Python技术专家兼培训专家联手撰写,涵盖了该语言的所有核心内容。所有练习的解答都可在书后找到。 本书描述了Python程序的基本构件:类型、操作符、语句、函数、模块、类以及异常和介绍了更多高级主题,包括复杂的实例。无论是用于编写简单的脚本,还是复杂的科学计算、Web、数据库、图形和动画程序,Python都证明它的强大。
图灵书籍(Python网络编程(第三版).pdf+源码)
Python网络编程(第3版)针对想要深入理解使用Python来解决网络相关问题或是构建网络应用程序的技术人员,结合实例讲解了网络协议、网络数据及错误、电子邮件、服务器架构和HTTP及Web应用程序等经典话题。具体内容包括:全面介绍Python3中新提供的SSL支持,异步I/O循环的编写,用Flask框架在Python代码中配置URL,跨站脚本以及跨站请求伪造攻击网站的原理及保护方法,等等。