我试图从 process() 中调用 two_byte_proc(payload,offset) 但它不写入输出文件 out_buf。offset 或 payload 的输出可能包含 None ,因此应跳过这些迭代并使用下一个数据包重新启动过程功能。
def process():
pkts = sniff(offline="infile.pcap",filter="tcp")
out_buf = open("outfile.bin","wb")
for pkt in pkts:
offset = hexdump(str(pkt.payload)[:2])
payload = hexdump(pkt.payload)
if offset or payload is None:
pass
else:
out_buf.write(two_byte_proc(payload,offset))
process()