我对以下代码有问题:
clients_list = []
for element in answered_list:
#print(element[1].show())
client_dict = {"ip": element[1].psrc, "mac": element[1].hwsrcs}
clients_list.append(client_dict)
print(element[1].psrc + "\t\t" + element[1].hwsrc)
print("-------------------------------------------------------")
首先,我声明一个名为client_list
的空列表。
比我要遍历一个名为answered_list
的列表。使用每个元素,我正在创建一个新的单元素字典,然后将该字典放入先前的cleints_list
。
问题是,当我通过此行创建当前字典时:
client_dict = {"ip": element[1].psrc, "mac": element[1].hwsrcs}
我得到这些错误:
Traceback (most recent call last):
File "/root/Documents/PycharmWS/network_scanner/venv/lib/python3.7/site-packages/scapy/packet.py", line 361, in __getattr__
fld, v = self.getfield_and_val(attr)
TypeError: cannot unpack non-iterable NoneType object
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/Documents/PycharmWS/network_scanner/venv/lib/python3.7/site-packages/scapy/packet.py", line 361, in __getattr__
fld, v = self.getfield_and_val(attr)
TypeError: cannot unpack non-iterable NoneType object
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/Documents/PycharmWS/network_scanner/venv/lib/python3.7/site-packages/scapy/packet.py", line 361, in __getattr__
fld, v = self.getfield_and_val(attr)
TypeError: cannot unpack non-iterable NoneType object
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "network_scanner.py", line 43, in <module>
scan("192.168.223.2")
File "network_scanner.py", line 36, in scan
client_dict = {"ip": element[1].psrc, "mac": element[1].hwsrcs}
File "/root/Documents/PycharmWS/network_scanner/venv/lib/python3.7/site-packages/scapy/packet.py", line 363, in __getattr__
return self.payload.__getattr__(attr)
File "/root/Documents/PycharmWS/network_scanner/venv/lib/python3.7/site-packages/scapy/packet.py", line 363, in __getattr__
return self.payload.__getattr__(attr)
File "/root/Documents/PycharmWS/network_scanner/venv/lib/python3.7/site-packages/scapy/packet.py", line 363, in __getattr__
return self.payload.__getattr__(attr)
File "/root/Documents/PycharmWS/network_scanner/venv/lib/python3.7/site-packages/scapy/packet.py", line 361, in __getattr__
fld, v = self.getfield_and_val(attr)
File "/root/Documents/PycharmWS/network_scanner/venv/lib/python3.7/site-packages/scapy/packet.py", line 1583, in getfield_and_val
raise AttributeError(attr)
AttributeError: hwsrcs
为什么会出现此错误?我正在按照这种方式进行教学。我该如何解决?
answer_list的内容是什么?
我想问题是这种类型的元素没有.psrc和.hwsrcs属性。那是主要问题。