python 抓包基于pypcap

1、查询python和python-dev是否安装

dpkg-query -l python
dpkg-query -l python-dev
#没安装就先安装
sudo apt-get install python python-dev

2、安装flex和bison

sudo apt-get install flex bison

3、下载libpcap并安装

#下载地址 首页 http://www.tcpdump.org/
sudo wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz
#安装(中间可能会有警告,但是不影响)
sudo tar -zxvf libpcap-1.8.1.tar.gz
cd libpcap-1.8.1/
sudo ./configure
sudo make
sudo make install

4、下载并安装pypcap

#下载地址 首页 https://pypi.python.org/pypi/pypcap
sudo wget https://pypi.python.org/packages/83/25/dab6b3fda95a5699503c91bf722abf9d9a5c960a4480208e4bad8747dd0c/pypcap-1.1.5.tar.gz#md5=4d762f3293d9d41a787ef753530e0d0c
sudo tar -zxvf pypcap-1.1.5.tar.gz 
cd pypcap-1.1.5/
sudo python setup.py install #中间会有很多警告,但是不影响

5、测试

#进入python命令行
>>> import pcap 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build/bdist.linux-x86_64/egg/pcap.py", line 7, in <module>
  File "build/bdist.linux-x86_64/egg/pcap.py", line 6, in __bootstrap__
ImportError: libpcap.so.1: cannot open shared object file: No such file or directory
>>> 
#如果没有报错就表示安装完成,我在centos上没有问题,但是ubuntu上就有问题,在执行如下操作,
#注意必须是root用户模式下执行,sudo没有用,需要su登录
$ locate libpcap.so.1 #查询文件位置
/usr/lib/x86_64-linux-gnu/libpcap.so.1.7.4
$ cd /etc/ld.so.conf.d/
$ echo "# libpcap default configuration" >> libpcap.conf
$ echo "/usr/lib/x86_64-linux-gnu/libpcap.so.1.7.4" >> libpcap.conf
$ ldconfig

写一个测试test.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 测试 pypcap


import pcap

pc=pcap.pcap()    #注,参数可为网卡名,如eth0
pc.setfilter('tcp')    #设置监听过滤器,如tcp port 80

for ptime,pdata in pc:    #ptime为收到时间,pdata为收到数据
    print ptime,pdata    #...

$ sudo python test.py #当然这些都是没有解包的数据,buffer(内存)
1483629320.81 �� q�4#�iTE(�e@@ �����ps��p�` � ����SP-P �h�
1483629322.85 �� q�4#�iTE4x�@@ �f���p<��0P���,E� ~�  >��  

 4L�
1483629322.85 �� q�4#�iTE4 �@@ �����peɩ�ƒ ������  ��  k�A  

 6߿
1483629322.85 �� q�4#�iTE4 �@@ HY���puz� �P6��  �
��  �  

上面这样就表示抓包成功了,当然接下去就要解包了,这个时候要找一本关于网络协议的书,我看的是tcp-ip详解,这样边看边学应该会更好

 

 

 

转载于:https://my.oschina.net/u/2607780/blog/819588

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值