python 抓包保存为pcap文件并解析的实例


Posted in Python onJuly 23, 2019

首先是抓包,使用scapy模块,

sniff()函数 在其中参数为本地文件路径时,操作为打开本地文件

若参数为BPF过滤规则和回调函数,则进行Sniff,回调函数用于对Sniff到的数据包进行处理

import os
from scapy.all import *
 
pkts=[]
count=0
pcapnum=0
filename=''
 
def test_dump_file(dump_file):
  print "Testing the dump file..."
  
  if os.path.exists(dump_file):
    print "dump fie %s found." %dump_file
    pkts=sniff(offline=dump_file)
    count = 0
    while (count<=2):                   
      print "----Dumping pkt:%s----" %dump_file
      print hexdump(pkts[count])
      count +=1
  else:
    print "dump fie %s not found." %dump_file
 
def write_cap(x):
  global pkts
  global count
  global pcapnum
  global filename
  pkts.append(x)
  count +=1
  if count ==3:             <span style="font-family: Arial, Helvetica, sans-serif;">#每3个TCP操作封为一个包(为了检测正确性,使用时尽量增多)</span>
 
  
  pcapnum +=1
  pname="pcap%d.pcap"%pcapnum
  wrpcap(pname,pkts)
  filename ="./pcap%d.pcap"%pcapnum
  test_dump_file(filename)
  pkts=[]
  count=0
    
 
 
 
if __name__=='__main__':
  print "Start packet capturing and dumping ..."
  sniff(filter="dst net 127.0.0.1 and tcp",prn=write_cap)   #BPF过滤规则

下面是对pcap文件的解析,会自动查找下一个pcap文件,按照src.ip和dst.ip进行划分

# -*- coding: cp936 -*-
import re
import zlib
import os
 
from scapy.all import *
num=1
a=rdpcap("pcap1.pcap")               #循环打开文件
while True:
  try:
    num+=1
    file_name="pcap%d.pcap" % num
    b=rdpcap(file_name)
    a=a+b
  except:
    break
    print "[*] Read pcap file ok"
  
 
 
print "[*] Begin to parse pcapfile..."
print a
try:
  #print "[*] OPen new pcap_file %s" % pcap_file
  sessions=a.sessions()
  for session in sessions:
    print "[*]New session %s" % session
    data_payload=""
    for packet in sessions[session]:
      try:
        data_payload +=str(packet[TCP].payload)
        print "[**] Data:%s" % data_payload
      except:
        pass
except:
  print "[*]no pcapfile..."

以上这篇python 抓包保存为pcap文件并解析的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python打印scrapy蜘蛛抓取树结构的方法
Apr 08 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
Python实现读取txt文件并转换为excel的方法示例
May 17 Python
python实现简易内存监控
Jun 21 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
python 日期排序的实例代码
Jul 11 Python
python 判断三个数字中的最大值实例代码
Jul 24 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
Aug 26 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
在python image 中实现安装中文字体
May 16 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
Django ModelForm组件使用方法详解
Jul 23 #Python
Pandas之groupby( )用法笔记小结
Jul 23 #Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 #Python
使用PYTHON解析Wireshark的PCAP文件方法
Jul 23 #Python
Django 静态文件配置过程详解
Jul 23 #Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 #Python
pandas通过字典生成dataframe的方法步骤
Jul 23 #Python
You might like
建立文件交换功能的脚本(三)
2006/10/09 PHP
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
PHP 作用域解析运算符(::)
2010/07/27 PHP
mac下安装nginx和php
2013/11/04 PHP
thinkPHP查询方式小结
2016/01/09 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
vue实现百度搜索功能
2020/12/28 Javascript
利用Python实现网络测试的脚本分享
2017/05/26 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
解决Django连接db遇到的问题
2019/08/29 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
酒吧总经理岗位职责
2013/12/10 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
启动仪式策划方案
2014/06/14 职场文书
保研专家推荐信范文
2015/03/25 职场文书
小学校园广播稿
2015/08/18 职场文书
导游词之山东红叶谷
2019/10/31 职场文书