Чтобы продолжить этот вопрос. перед печатью резюме. Пожалуйста, смотрите код ниже:
защита 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) за исключением Exception as e: print 'Ошибка: укажите имя файла pcap!\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()
Мне удалось распечатать данные пакета, но по-прежнему не удалось распечатать сводку. Я предполагаю, что мне нужно подсчитывать значения из глобального, чтобы иметь возможность печатать сводку.
Любая помощь высоко ценится