易截截图软件、单文件、免安装、纯绿色、仅160KB

Python编程问题,恳请高手解惑

最近迷上了Python,在思考怎样用Python写个程序实现对指定网络端口的数据包的抓取和解析,恳请高手指教!!

你好!
首先,实现捕包的功能需要使用wincap(windows下),或者libpcap(Linux下)。
而Python提供了几个libpcap bind,不如:http://monkey.org/~dugsong/pypcap/,这里有一个最简单的。
在windows平台上,你需要先安装winpcap。

下面是一个规范的抓包过程例子:

import pcap
import dpkt
pc=pcap.pcap() #注,参数可为网卡名,如eth0
pc.setfilter('tcp port 80') #设置监听过滤器
for ptime,pdata in pc: #ptime为收到时间,pdata为收到数据
  print ptime,pdata #...

对抓到的以太网V2数据包(raw packet)进行解包

p=dpkt.ethernet.Ethernet(pdata)
if p.data.__class__.__name__=='IP':
  ip='%d.%d.%d.%d'%tuple(map(ord,list(p.data.dst)))
  if p.data.data.__class__.__name__=='TCP':
  if data.dport==80:
  print p.data.data.data # by gashero

一些显示参数

nrecv,ndrop,nifdrop=pc.stats()
返回的元组中,第一个参数为接收到的数据包,(by gashero)第二个参数为被核心丢弃的数据包。
good luck!


感谢三楼前辈的帮助,待我消化一下啊,如果有不明白的地方,希望能再得到你的指导!感谢!

建议LZ看Python网络编程基础

大侠有中文版的不?
引用
建议LZ看Python网络编程基础


如果想跟上时代的发展, 就度英文版的把, 楼上为你推荐的很好。


相关问答:

python PIL模块打开图片问题

请问下,我的是python2.5安装了PIL模块,然后编写程序打开本机上的一个图片时,为什么老出现错误呢,老是找不到图片,错误提示如下:File "C:\Python25\Lib\site-packages\PIL\Image.py", line 1888, in o ......

[提问]Python 如何忽略 whitespace 读入

像 C 的 scanf() 那样
比如读入 1 2 3 a b c
每次读入一个
下面这个应该是你想要的吧:
Python code:

>>> k = raw_input()
0 0123 ds dsl sd
>>> k
'0 0123 ds dsl sd'
>>> ......

python list中添加类对象的问题

在list中添加一个类的局部变量 这样做是否合法 请看下面例子:
Python code:

class A():
def __init__( self ):
self.__a = 0
self.__b = 'hello'
def get_a( self ):
ret ......

python如何获得网页JavaScript脚本执行后的全部源代码

RT。

我想要下载一个网站上的图片,但是该网站的图片地址是通过浏览器执行网页的JavaScript脚本后才返回的,使用urllib2的urlopen只能得到带有JavaScript代码的网页源代码。

想要用wx模块的wx.lib.iew ......

Python二维数组赋值问题

RowNum=18
ColumnNum=10
SquareList=[[0 for a in range(ColumnNum)] for b in range(RowNum)]
ActiveList=[[0 for a in range(ColumnNum)] for b in range(RowNum)]

ActiveList[0][5]=1
SquareL ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号