首先是抓包,使用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: #每3个TCP操作封为一个包(为了检测正确性,使用时尽量增多)

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打开pcap文件_python 抓包保存为pcap文件并解析的实例相关推荐

  1. python scapy 抓包_python 抓包保存为pcap文件并解析的实例

    首先是抓包,使用scapy模块, sniff()函数 在其中参数为本地文件路径时,操作为打开本地文件 若参数为BPF过滤规则和回调函数,则进行Sniff,回调函数用于对Sniff到的数据包进行处理 i ...

  2. 手机查看pcap文件_java抓包后对pcap文件解析示例

    这是自己写的简单的解析pcap文件,方便读取pcap文件,大家参考使用吧 InputStream is = DataParser.class.getClassLoader().getResourceA ...

  3. python包的init文件_Python模块包中__init__.py文件功能分析

    本文实例讲述了Python模块包中__init__.py文件功能.分享给大家供大家参考,具体如下: 用django做开发已经一年多的时间,但基本没注意python模块中__init__.py文件存在的 ...

  4. python 修改excel文件_Python修改并保存当前excel文件

    在工作中经常需要修改excel文件并保存(例如添加行.添加列),如果只使用xlwt和xlrd并不能达成目的,需要用到xlutils.下面以我实际写的代码为例 备注:代码格式本来好好的,不知道为什么发表 ...

  5. java 生成.pcap_java抓包后对pcap文件解析示例

    这是自己写的简单的解析pcap文件,方便读取pcap文件,大家参考使用吧 复制代码 代码如下: InputStream is = DataParser.class.getClassLoader().g ...

  6. 【Python】【进阶篇】十六、Python爬虫的浏览器实现抓包

    目录 十六.Python爬虫的浏览器实现抓包 16.1 控制台界面 16.1.1 NetWork 16.1.2 Sources 16.1.3 Console 16.1.4 Application 16 ...

  7. pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存

    pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存 目录 输出结果 代码实现 输出结果 代码实现 # -*- codi ...

  8. 获取log文件信息,并保存至Excel文件

    获取log文件信息,并保存至Excel文件 日常工作中,可能需要我们从txt文件中截取海量的信息,只要寻找到这种信息的规律或者定位好信息情况,在我的txt文件中有海量的信息,而我只需要截取09/11/ ...

  9. python批量下载文件教程_Python抓包菜鸟教程:批量下载图片的方法,电脑和手机都能用...

    笔者看上了一组图集,然后准备一张一张下载时,瞄了一眼,这组图集还有100+,好吧,我酸了. 笔者就是试试工具,你们别像我这样用,这么好的工具,做自媒体,那绝对了 那如何批量下载几百张图片呢?教程开始了 ...

  10. python抓包与解包_python 抓包与解包

    我使用的环境为:Windows10.python3.6.scapy 2.4.0 一.基本知识 Sniff方法定义: sniff(filter="",iface="any& ...

最新文章

  1. Oracle - 数据库的实例、表空间、用户、表之间关系
  2. sqlserver 把两个sql查询语句查询出来的两张表合并成一张表
  3. python转行it好学吗-转行IT做后端开发,学python还是java?
  4. mysql 8函数索引_新特性解读 | MySQL 8.0 索引特性1-函数索引
  5. 全数字实时仿真平台SkyEye和同步数据流语义与翻译正确性验证
  6. 来来来!统一命名服务、集群管理、分布式应用
  7. docker 容器启动顺序_Docker高手进阶 - Docker Compose到底是什么
  8. 使用latex做三线表
  9. 2014计算机科学与技术学科国际学术会议ei检索目录,2014年Ei核心期刊源目录(Ei Compendex)...
  10. 学计算机要数学吗,学习计算机真的需要数学能力超强吗?
  11. Qt文档阅读笔记-Ping Pong States Example解析
  12. 【Codecs系列】HEVC标准(十二):参考帧管理RPS技术
  13. 计算机编程考试题库和答案,计算机程序设计员试题及答案
  14. 戴尔R730从U盘启动
  15. 基于Mono.Cecil的静态注入
  16. 电脑网络问题,IP释放,重新获取IP
  17. 图解“华为云潮汕火锅”的“牛里乾坤”
  18. 在ARM板上的linux系统中查看进程实际使用物理内存
  19. C# 打印小票 POS
  20. android培训课程!不同层级的Android开发者的不同行为,成功入职阿里

热门文章

  1. Springboot集成urule
  2. 直流电动机调速matlab,基于MATLAB龙门刨床直流电动机调速系统仿真研究
  3. 简体中文原型设计工具对比
  4. QTreeView 和QTreeWidget
  5. 关于vscode新建文档代码自定义模板的设置
  6. 如何彻底卸载3dmax2020_完全卸载3DMAX的方法
  7. 华为云计算IE面试笔记-Fusionsphere架构及组件介绍(服务器虚拟化解决方案)
  8. SpringBoot-Bean作用域
  9. 手把手教你:安装svn出现could not write value to key的错误
  10. 2018最新圣思园JavaSE实地培训系列视频教程