我在 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)
所以我觉得第一种情况(绑定公网ip),没有绑定127.0.0.1(环回地址),导致你扫描失败。或者换句话说,公共ip和环回地址代表2个不同的网络设备。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句