python打开pcap文件_python 抓包保存为pcap文件并解析的实例
首先是抓包,使用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文件并解析的实例相关推荐
- python scapy 抓包_python 抓包保存为pcap文件并解析的实例
首先是抓包,使用scapy模块, sniff()函数 在其中参数为本地文件路径时,操作为打开本地文件 若参数为BPF过滤规则和回调函数,则进行Sniff,回调函数用于对Sniff到的数据包进行处理 i ...
- 手机查看pcap文件_java抓包后对pcap文件解析示例
这是自己写的简单的解析pcap文件,方便读取pcap文件,大家参考使用吧 InputStream is = DataParser.class.getClassLoader().getResourceA ...
- python包的init文件_Python模块包中__init__.py文件功能分析
本文实例讲述了Python模块包中__init__.py文件功能.分享给大家供大家参考,具体如下: 用django做开发已经一年多的时间,但基本没注意python模块中__init__.py文件存在的 ...
- python 修改excel文件_Python修改并保存当前excel文件
在工作中经常需要修改excel文件并保存(例如添加行.添加列),如果只使用xlwt和xlrd并不能达成目的,需要用到xlutils.下面以我实际写的代码为例 备注:代码格式本来好好的,不知道为什么发表 ...
- java 生成.pcap_java抓包后对pcap文件解析示例
这是自己写的简单的解析pcap文件,方便读取pcap文件,大家参考使用吧 复制代码 代码如下: InputStream is = DataParser.class.getClassLoader().g ...
- 【Python】【进阶篇】十六、Python爬虫的浏览器实现抓包
目录 十六.Python爬虫的浏览器实现抓包 16.1 控制台界面 16.1.1 NetWork 16.1.2 Sources 16.1.3 Console 16.1.4 Application 16 ...
- pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存
pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存 目录 输出结果 代码实现 输出结果 代码实现 # -*- codi ...
- 获取log文件信息,并保存至Excel文件
获取log文件信息,并保存至Excel文件 日常工作中,可能需要我们从txt文件中截取海量的信息,只要寻找到这种信息的规律或者定位好信息情况,在我的txt文件中有海量的信息,而我只需要截取09/11/ ...
- python批量下载文件教程_Python抓包菜鸟教程:批量下载图片的方法,电脑和手机都能用...
笔者看上了一组图集,然后准备一张一张下载时,瞄了一眼,这组图集还有100+,好吧,我酸了. 笔者就是试试工具,你们别像我这样用,这么好的工具,做自媒体,那绝对了 那如何批量下载几百张图片呢?教程开始了 ...
- python抓包与解包_python 抓包与解包
我使用的环境为:Windows10.python3.6.scapy 2.4.0 一.基本知识 Sniff方法定义: sniff(filter="",iface="any& ...
最新文章
- Oracle - 数据库的实例、表空间、用户、表之间关系
- sqlserver 把两个sql查询语句查询出来的两张表合并成一张表
- python转行it好学吗-转行IT做后端开发,学python还是java?
- mysql 8函数索引_新特性解读 | MySQL 8.0 索引特性1-函数索引
- 全数字实时仿真平台SkyEye和同步数据流语义与翻译正确性验证
- 来来来!统一命名服务、集群管理、分布式应用
- docker 容器启动顺序_Docker高手进阶 - Docker Compose到底是什么
- 使用latex做三线表
- 2014计算机科学与技术学科国际学术会议ei检索目录,2014年Ei核心期刊源目录(Ei Compendex)...
- 学计算机要数学吗,学习计算机真的需要数学能力超强吗?
- Qt文档阅读笔记-Ping Pong States Example解析
- 【Codecs系列】HEVC标准(十二):参考帧管理RPS技术
- 计算机编程考试题库和答案,计算机程序设计员试题及答案
- 戴尔R730从U盘启动
- 基于Mono.Cecil的静态注入
- 电脑网络问题,IP释放,重新获取IP
- 图解“华为云潮汕火锅”的“牛里乾坤”
- 在ARM板上的linux系统中查看进程实际使用物理内存
- C# 打印小票 POS
- android培训课程!不同层级的Android开发者的不同行为,成功入职阿里