【发布时间】:2018-06-07 08:55:19
【问题描述】:
我在 python 中做了一个端口扫描器,可以检查公共和本地 IP 的开放端口。 公共 IP 上的 Portscann 工作正常,但是当我尝试在 localhost(127.0.0.1 或 0.0.0.0)上进行扫描时,它会在每个端口上说这是关闭的......
代码如下:
try:
for port in range(int(sport), int(eport) + 1):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((remoteServer, port))
if result == 0:
print("[+] Port " + str(port) + " = [Open]")
else:
print("[-] Port " + str(port) + " = [Closed]")
sock.close()
except:
print("\nScan failed!")
time.sleep(2)
print("Check your IP adress.\n")
time.sleep(3)
print("The programm will be closed...")
time.sleep(4)
sys.exit(0)
【问题讨论】:
-
我没有完全理解这个问题,到底是什么问题?
-
首先我从端口 20 到 25(外部)扫描了“scanme.nmap.org”。结果 = 20,21,23,24 和 25 已关闭,端口 22 已打开....到目前为止一切顺利。但是当我尝试扫描 127.0.0.1(本地)时,它说端口 20 到 25 已关闭...
-
您有任何服务在这些端口上运行?
-
是的....我也尝试了 54、80 等,但没有任何效果,它没有被防火墙阻止....