如题,分享一个提取pcap文件中TCP和UDP数据包的五元组即(源IP地址,目的IP地址,源端品号,目的端口号,协议类型)并将其转存在一个json文件中的源代码。另外,我有清华校园网,中国电信,香港全球通信以及CAIDA的trace,其中清华校园网和中国电信的trace文件是数据流的形式(中国电信是1:5000的NetFlow采样比),香港全球通信和CAIDA的trace文件是数据包的形式。有需要的同学可以给我发邮件(赵宗义,xinshengzzy@foxmail.com)
from scapy.all import *
import json
src_hgc = "./HGC.20080415000.pcap"
dst_hgc = "./HGC.20080415000.json"
src_caida = "./CAIDA.equinix-nyc.dirA.20180315-125910.UTC.anon.pcap"
dst_caida = "./CAIDA.equinix-nyc.dirA.20180315-125910.UTC.anon.json"
#limit = 5000000
limit = -1
count = 0
pkts = []
def func(pkt):
global pkts, count, limit
srcip, dstip, proto, sport, dport = None, None, None, None, None
if pkt.haslayer(IP):
srcip = pkt[IP].src
dstip = pkt[IP].dst
proto = pkt[IP].proto
if pkt.haslayer(TCP):
spo