基本信息
源码名称:python读取pcap文件.py
源码大小:4.32KB
文件格式:.py
开发语言:Python
更新时间:2020-12-23
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
读取pcap文件,解析相应的信息,为了在记事本中显示的方便,把二进制的信息转换为json格式
if __name__ == '__main__': fpcap = open('600S-pcap_for_replay-20181126.pcap', 'rb') ftxt = open('result2.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_list = [] i = 24 while (i < len(string_data)): # 数据包头各个字段bytes GMTtime = string_data[i:i 4] MicroTime = string_data[i 4:i 8] caplen = string_data[i 8:i 12] lens = string_data[i 12:i 16] # 数据包各个字段的正常表示 packet_GMTtime = struct.unpack('I', GMTtime)[0] packet_GMTtime = time_trans(packet_GMTtime) packet_MicroTime = struct.unpack('I', MicroTime)[0] packet_caplen = struct.unpack('I', caplen)[0] packet_len = struct.unpack('I', lens)[0] # 数据包头对象 print(string_data[i:i 4]) print(string_data[i 4:i 8]) # print( string_data[i 12:i 16]) # print(struct.unpack('I', string_data[i:i 4])[0]) # print(struct.unpack('I', string_data[i 4:i 8])[0]) # print(struct.unpack('I', string_data[i 12:i 16])[0]) # 数据包各个字段的正常表示 packet_GMTtime = struct.unpack('I', GMTtime)[0] packet_GMTtime = time_trans(packet_GMTtime) packet_MicroTime = struct.unpack('I', MicroTime)[0] packet_caplen = struct.unpack('I', caplen)[0]