我正在使用一个小的工具来检查是否在本地计算机上打开了任何端口。
但是,代码只运行一部分,并在第一个for循环之前停止。我没有收到任何错误,程序的其余部分正常工作。
我查看了一些示例,有些人似乎以与此处相同的方式执行了此操作,因此我真的很茫然,无法理解为什么此功能不起作用。
请有人可以帮助我了解为什么会发生这种情况以及如何解决此问题?
这是功能。
def nmapScan():
global NetData
nmScan = nmap.PortScanner()
nmScan.scan(localIP, tgtPort)
print "check 1"
for host in nmScan.all_hosts():
hostInfo = ('Host : %s (%s)' % (host, nmScan[host].hostname()))
stateInfo = ('State : %s' % nmScan[host].state())
print "check 2"
for protoCheck in nmScan[host].all_protocols():
protoInfo = ('Protocol : %s' % protoCheck)
lport = nmScan[host][protoCheck].keys()
lport.sort()
print "check 3"
for port in lport:
print ('port : %s\tstate : %s' % (port, nmScan[host][protoCheck][port]['state']))
NetData = hostInfo + stateInfo + protoInfo
print "check 4"
谢谢。