python - Socket Port Scanner 找不到任何有效的开放端口
问题描述
我目前正在编写一个端口扫描器,您可以在其中导入 ips 列表,程序将检查所有这些端口是否打开。
问题是,端口扫描器在 5 个不同的 ips 上找到 5 个有效端口,然后只找到无效的开放端口。我正在尝试的列表是我自己的服务器,并且我正在测试的所有端口都已打开。当我使用这个网站进行测试时,我什至可以看到它们:https: //www.yougetsignal.com/tools/open-ports/
该程序是多线程的。
我尝试了许多不同的东西,使用connect_ex()
而不是connect()
但没有任何效果。
def scanner(host):
global checked
checked +=1
socket.setdefaulttimeout(1)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((host,25))
s.close()
write_console("success", "Host: " + host + " offener Port: 25")
write(host + ":25", output_file)
except Exception as e:
write_console("error", "Host: " + host + " Port: 25")
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host,587))
s.close()
write_console("success", "Host: " + host + " offener Port: 587")
write(host + ":587", output_file)
except:
write_console("error", "Host: " + host + " Port: 587")