2019独角兽企业重金招聘Python工程师标准>>>
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 -*-
# 测试 pypcapimport pcappc=pcap.pcap() #注,参数可为网卡名,如eth0
pc.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详解,这样边看边学应该会更好