为什么我得到“无”作为输出?

时间:2019-05-31 20:17:51

标签: python pyqt pyqt5 scapy python-3.7

我正在编写一个网络发现工具,该工具应该打印出连接到我的网络的所有ip,但是由于某种原因,我的输出为“ None”,所以我对PyQt5相当了解,因此可能将scan()函数称为错误。我在没有PyQt5的情况下测试了脚本,并且可以正常工作。

def scan(self, ip):
    arp_request = scapy.ARP(pdst=ip) 
    broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
    arp_request_broadcast = broadcast/arp_request
    answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]

    self.lbloutput.setText("IP\t\t\tMac Address\n................................")
    for element in answered_list:
        self.lbloutput.setText(element[1].psrc + "\t\t" + element[1].hwsrc)

def btnclick(self):
    results = self.scan(self.txtbox.text())
    self.lbloutput.setText(str(results))

1 个答案:

答案 0 :(得分:0)

scan()不返回值,因此返回None

因此,当您致电results = self.scan(self.txtbox.text())时,您将得到None