首页 » Python » Python实现抓取访问特定URL的数据包

Python实现抓取访问特定URL的数据包

原文 http://blog.csdn.net/lovely_1014/article/details/79231254

2018-02-02 02:01:06阅读(285)

这篇文章紧接着《使用Python来分离或者直接抓取pcap抓包文件中的HTTP流》展开,那篇文章是昨天写的,今天早上突然又想实现一个直接抓包的程序,于是天没亮就又爬起来了...

本文的代码以及前文的代码在github的地址:https://github.com/marywangran/Python-Http-cap-demux/tree/master

        Python有很多库可以实现抓包和分析包,典型就是pypcap用来抓包,dpkt用来分析,关于这两个库的安装,我有一些随笔,虽然这些对于一个Python老手而言似乎是信手拈来可以吹着口哨搞定的事,但是对于新手而言,似乎必然会遇到这样那样的问题,因此我先分享一些关于安装方面的事情。
        Python的库太过丰富,但是前提是你必须可以随意安装它,我比较推荐使用pip安装,它就像apt-get,yum这样,甚至语法都一样:
apt-get/yum/pip install aaaaa
但是pip要真的用起来似乎还是要花点时间的。我首先下载了setuptool:
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-3.0.tar.gz
然后解压,进入其主目录后执行:
python ./setup.py build
python ./setup.py install
然后在我了解到pip本身也是一个Python库的时候,我执行了:
easy_install pip
随后得到了令人遗憾的错误提示,说什么”unknown URL type: https“,然后我问了度娘,解决了该问题,很简单,执行下面的步骤即可:
1.yum install openssl-devel
2.重新编译Python并install
接下来就可以easy_install pip了,然后就可以:
pip install pypcap
pip install dpkt
最后,代码就可以随便写了...

我主要还是想在直接抓包的时候就过滤好我想要的包,而不是先抓一个超级大的pcap文件,然后再慢慢解析分流。只要脑子里面有清晰的逻辑,并且手边有一个得心应手的编程语言,模拟任何事情都不是难事,把昨天的代码一改,把分析pcap的逻辑改成pypcap/dpkt抓包解包的逻辑,一切似乎就是那么简单。代码如下:
[python] view plain copy

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹