1、查询python和python-dev是否安装
dpkg-query -l pythondpkg-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.gzcd libpcap-1.8.1/sudo ./configuresudo makesudo make install
4、下载并安装pypcap
#下载地址 首页 https://pypi.python.org/pypi/pypcapsudo wget https://pypi.python.org/packages/83/25/dab6b3fda95a5699503c91bf722abf9d9a5c960a4480208e4bad8747dd0c/pypcap-1.1.5.tar.gz#md5=4d762f3293d9d41a787ef753530e0d0csudo 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 "", line 1, in File "build/bdist.linux-x86_64/egg/pcap.py", line 7, in 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 -*-# 测试 pypcapimport pcappc=pcap.pcap() #注,参数可为网卡名,如eth0pc.setfilter('tcp') #设置监听过滤器,如tcp port 80for 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详解,这样边看边学应该会更好