我目前正在对端口扫描程序进行编码,您可以在其中导入ip列表,程序将检查所有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")