我试图从pcap文件中读取目标IP的列表,问题是当我运行while循环时得到了这个错误
Traceback (most recent call last):
File "/root/PycharmProjects/pcap/pcap.py", line 10, in <module>
print(pcap[4]['IP'].show())
File "/root/venv/pcap/lib/python3.7/site-packages/scapy/packet.py", line 1171, in __getitem__
raise IndexError("Layer [%s] not found" % lname)
IndexError: Layer ['IP'] not found
当我检查Wireshark时,我发现出现错误是因为vmware发出了请求,因为我在Kali虚拟机上编写了此代码。这是我的密码
from scapy.all import *
from nmap import *
from collections import OrderedDict
scanner = nmap.PortScanner()
pcap = rdpcap('/root/Downloads/nakerah.pcap')
ip_list = []
x = 0
while x < 4:
host_ip = pcap[x]['IP'].dst
ip_list.append(host_ip)
final_list = list(OrderedDict.fromkeys(ip_list))
x += 1
print(final_list)
错误会准确地告诉您需要知道的内容
数据包捕获中不包含IP层的数据包之一。在访问IP层之前,需要检查它是否存在。例如,ARP数据包没有IP层,会破坏您的代码
使用wireshark的样本捕获中的这个pcap,我们可以通过检查IP层是否存在来获得dest IP
在壳中运行这个,我们得到
相关问题 更多 >
编程相关推荐