比较python中数据包的端口号
您可以使用rdpcap读取.pcap文件,创建列表,并在检查端口号是否已存在后将其追加到列表中比较python中数据包的端口号,python,scapy,Python,Scapy,您可以使用rdpcap读取.pcap文件,创建列表,并在检查端口号是否已存在后将其追加到列表中 from scapy.all import * def print_summary(pkt): for i in pkt: sport=[pkt[TCP].sport] if (sport[i]!=sport[i+1]): packet=sport print packet sniff(of
from scapy.all import *
def print_summary(pkt):
for i in pkt:
sport=[pkt[TCP].sport]
if (sport[i]!=sport[i+1]):
packet=sport
print packet
sniff(offline="/root/ip2.pcap",prn = print_summary)
你能写一些你想要的描述或输出,或者至少写一些错误吗?来自scapy.all import*a=[]def print_summary(pkt):sport=[pkt[TCP].sport]对于运动中的i:a.append(sport)打印嗅探(offline=“/root/ip2.pcap”,prn=print_summary,count=5)用于上述代码,我得到的输出是[[27887][[27887],[49792][[27887],[49792],[60476][[27887],[49792],[60476],[52345][[27887],[49792],[60476],[52345],[22070]。它每次都在追加和打印。如何在所有迭代之后打印,即仅打印最后附加的数据
from scapy.all import *
pcap = rdpcap('test_pcap.pcap')
ports = []
for pkt in pcap:
if pkt.haslayer(TCP):
if pkt.sport in ports:
pass
else:
ports.append(pkt.sport)
print(ports)