Scapy计算每个ip地址的总数据包长度

2024-09-27 09:28:56 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的当前代码能够读取pcap文件并提取目标IP地址和数据包大小

我想做的只是计算每个目的地IP,并计算每个目的地IP地址的数据包总数

使用Scapy加载pcap文件还有其他几种方法,但它们加载内存中的所有内容,例如rdpcap,尽管在大型pcap文件上嗅探功能花费的时间太长,但这似乎是最好的解决方案,因为它绕过了对有效负载的任何分析

输入

dic = {}

IP.payload_guess = []

#ips = set((p[IP].dst,p[IP].len) for p in PcapReader(file) if IP in p)
ips = set(p[IP].dst for p in PcapReader(file) if IP in p)

for ip in ips:
    list_ips.append(ip)
    dic[ip] = 1

输出

('192.168.1.238', 658)
('255.255.255.255', 328)
('89.30.121.150', 109)
('89.30.121.150', 270)
('192.168.1.238', 417)
('89.30.121.150', 378)
('89.30.121.150', 316)
('89.30.121.150', 287)
('192.168.1.1', 66)
('89.30.121.150', 48)
('89.30.121.150', 262)
('89.30.121.150', 107)
('89.30.121.150', 498)
('89.30.121.150', 40)
('192.168.1.238', 426)
('192.168.1.238', 328)
('89.30.121.150', 319)
('192.168.1.238', 48)
('192.168.1.238', 478)
('89.30.121.150', 45)
('192.168.1.238', 44)
('89.30.121.150', 239)
('89.30.121.150', 186)
('192.168.1.238', 884)
('192.168.1.238', 40)
('89.30.121.150', 552)
('89.30.121.150', 227)
('89.30.121.150', 318)
('89.30.121.150', 223)
('0.0.0.0', 328)
('89.30.121.150', 44)
('192.168.1.238', 82)
('192.168.1.238', 584)
('89.30.121.150', 238)
('192.168.1.238', 65)
('89.30.121.150', 379)
('89.30.121.150', 438)

从输出中可以看到目标IP地址,第二列是数据包len(我需要每个IP地址的总数据包len)

我想我一定要用地图


Tags: 文件inip目标forlenpcap数据包

热门问题