为什么我在创建字典时遇到此错误?

问题描述 投票:0回答:1

我对以下代码有问题:

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

为什么会出现此错误?我正在按照这种方式进行教学。我该如何解决?

python python-3.x scapy
1个回答
0
投票

answer_list的内容是什么?

我想问题是这种类型的元素没有.psrc和.hwsrcs属性。那是主要问题。

© www.soinside.com 2019 - 2024. All rights reserved.