0

この質問から続行するには、https://stackoverflow.com/questions/9330686/parsing-pcap-in-python-2-6 要約を印刷しようとしていますが、最終的な引数に何を含めるべきかまだわかりません要約を印刷する前に。以下のコードを参照してください。

def run_example():

global total_packet_count, total_bytes_count, average_pkt_size

try:
    sys.argv[1]
    dmp_file = sys.argv[1]
    fp_dmp_file = open(dmp_file)
except Exception as e:
    print 'Error: please supply pcap filename!\n'
    return

f = open('test1.pcap') try: sys.argv[1] dmp_file = sys.argv[1] file = open(dmp_file) except Exception as e: print 'Error: please supply pcap filename!\n' return

pcap = dpkt.pcap.Reader(file)

for ts, buf in pcap:
    eth = dpkt.ethernet.Ethernet(buf)
    ip = eth.data
    tcp = ip.data
    src_ip = socket.inet_ntoa(ip.src)
    src_port = str(ip.data.sport)
    dst_ip = socket.inet_ntoa(ip.dst)
    dst_port = str(ip.data.dport)

    if type(ip.data) == dpkt.tcp.TCP:
        protocol = 'tcp'
    
    elif type(ip.data) == dpkt.udp.UDP:    
            protocol = 'udp'

    print_packet_info (ts, src_ip, src_port, dst_ip, dst_port, protocol, ip.len, ip.ttl)


print_summary(len (total_packet_count), len (total_bytes_count), len (average_pkt_size))

##fp_dmp_file.close()  

if name == ' main ': run_example()

パケット データは印刷できましたが、概要を印刷できません。要約を印刷できるようにするには、グローバルからカウント値を実行する必要があると思います。

どんな助けでも大歓迎です

4

1 に答える 1