问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python怎样读取pcap文件

发布网友 发布时间:2022-04-20 04:07

我来回答

1个回答

热心网友 时间:2022-03-30 22:17

程序如下:

#!/usr/bin/env python
#coding=utf-8
#读取pcap文件,解析相应的信息,为了在记事本中显示的方便,把二进制的信息
import struct
fpcap = open('test.pcap','rb')
ftxt = open('result.txt','w')
string_data = fpcap.read()
#pcap文件包头解析
pcap_header = {}
pcap_header['magic_number'] = string_data[0:4]
pcap_header['version_major'] = string_data[4:6]
pcap_header['version_minor'] = string_data[6:8]
pcap_header['thiszone'] = string_data[8:12]
pcap_header['sigfigs'] = string_data[12:16]
pcap_header['snaplen'] = string_data[16:20]
pcap_header['linktype'] = string_data[20:24]
#把pacp文件头信息写入result.txt
ftxt.write("Pcap文件的包头内容如下: \n")
for key in ['magic_number','version_major','version_minor','thiszone',
'sigfigs','snaplen','linktype']:
ftxt.write(key+ " : " + repr(pcap_header[key])+'\n')

#pcap文件的数据包解析
step = 0
packet_num = 0
packet_data = []
pcap_packet_header = {}
i =24
while(i<len(string_data)):

#数据包头各个字段
pcap_packet_header['GMTtime'] = string_data[i:i+4]
pcap_packet_header['MicroTime'] = string_data[i+4:i+8]
pcap_packet_header['caplen'] = string_data[i+8:i+12]
pcap_packet_header['len'] = string_data[i+12:i+16]
#求出此包的包长len
packet_len = struct.unpack('I',pcap_packet_header['len'])[0]
#写入此包数据
packet_data.append(string_data[i+16:i+16+packet_len])
i = i+ packet_len+16
packet_num+=1

#把pacp文件里的数据包信息写入result.txt
for i in range(packet_num):
#先写每一包的包头
ftxt.write("这是第"+str(i)+"包数据的包头和数据:"+'\n')
for key in ['GMTtime','MicroTime','caplen','len']:
ftxt.write(key+' : '+repr(pcap_packet_header[key])+'\n')
#再写数据部分
ftxt.write('此包的数据内容'+repr(packet_data[i])+'\n')
ftxt.write('一共有'+str(packet_num)+"包数据"+'\n')

ftxt.close()
fpcap.close()

最终得到的result文件如下所示:字段显示的都是十六进制,其中的数据部分和wireshark打开,显示的十六进制窗口一样。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
香蕉酸奶什么时候吃对减肥效果好-香蕉酸奶几点吃最佳时间 是是什么词性 魔兽世界狂暴战选什么种族看起来霸气威武?LM和BL分别说下。牛头人... 表达喜怒哀乐的成语有哪些? 问:我跟我朋友都19岁了女生就,我们想一起外面住宿一起工作,但是她很听... 女孩子高中毕业就可以不征求大人随便在外过夜了吗 ...19岁的女学生,和男朋友住宾馆会不会被学校查到吗??宾馆和学校有关系... ...女生就不能去闺蜜那里过夜?我都已经19岁了我爸妈还管我 哑然失笑的近义词和反义词是什么_哑然失笑是什么意思? 在黄梓良那儿算了说正缘桃花在猪年会出现,现在都鼠年了还没出现是骗子... 请问*.pcap文件都是什么软件产生的啊?wireshark我... 求解wireshark 怎么打不开pcap文件??? opporeno4智能侧边栏怎么移动位置 请问用什么软件打开*.pcap格式的文件? linux pcap文件怎么打开 linux 应用 pcap文件怎么打开 pcap文件用什么软件查看。 抓包pcap文件怎么打开? oppo侧边栏怎么调整位置 什么是曲酒?曲酒与浓香型白酒的区别是什么? 原曲酒是什么酒 电脑怎么看央视春晚直播 曲酒和酒曲分别是什么?是管什么用的? 我想看CCTV13频道怎么下载 什么是曲香酒 电脑这样下截中央电视台直播网 曲酒与高粱酒有什么区别 有没有电脑上可以看央视直播的软件?除了cbox,这... 苹果电脑什么软件可以看中央电视直播软件 怎么在电脑上看央视直播?要高清的喔! 什么是pcap文件 C#用代码保存Pcap文件,wireshark打开提示文件损坏... wireshark打不开pcap文件 怎么把pcap格式的文件转成xml格式的文件,谢谢,大... 怎样用python读取超大的pcap文件 文件名winpcap是一种什么性质的软件? 怎么分割pcap文件 g++ 编译时 错误:pcap/pcap.h:没有那个文件或目... dsploit生成的pcap文件怎么解析 linux下使用libpcap进行数据捕获,能够将捕获到的... oppo怎么挪动智能侧边栏 美国REITs基金有哪些 3d打印机直线导轨和滑车的区别 3D打印机光轴,材质;用轴承钢镀铬还是不锈钢光杆? 3d打印机 光轴 直线轴承 石墨轴套哪个好 3D打印机基础了解? 3d打印机的工作步骤 3D打印机的原理是什么? 什么是光轴,导轨光轴的作用 3d打印机的打印工作流程是怎样的