伙计们,我正在尝试一个简单的端口扫描程序,用socket.connect_ex((192.169.10.1, 80))
来验证端口是打开还是关闭的,但是我需要传递多个IP和端口,所以我使用list并使用for循环迭代它们。我只得到列表中第一个IP的结果,第二个IP没有给出正确的结果,而是总是运行elif块,可能是什么问题?有人能告诉我哪里出错了吗。在
我的代码:
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
iplst = ['193.169.10.100', '193.169.10.101']
ports = [80, 80]
for i,j in zip(iplst,ports):
result = sock.connect_ex((i,j))
if result == 0:
print("open" , i)
elif result != 0:
print("closed", i)
输出:
^{pr2}$但我敢肯定,两个港口都是开放的
您需要为每个(IP、端口)创建一个新的套接字:
而且,这是一个很好的做法,关闭插座一旦你完成。在
相关问题 更多 >
编程相关推荐