0
我正在使用python循环来查找打开的端口。它应该工作的方式是,如果我的列表中的一个端口打开并接受tcp连接,它会发送一个响应,如果没有,它将跳到下一个端口号。在套接字错误后继续循环
我遇到的问题是,如果第一个端口没有响应,我收到来自套接字的错误,并停止循环。这里是脚本,包括如何定义我的端口列表。
import numpy;
import socket;
import sys;
with open("ports.ls") as f:
ports = f.read().split(",");
portslist = []
for i in ports:
portslist.append(i.strip());
portslist = [int(i) for i in portslist]
for i in portslist:
target_host = sys.argv[1];
target_port = i;
print "[*] port:%d" % target_port;
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM);
client.connect((target_host, i));
client.send("GET/HTTP/1.1\r\nHost: %s\r\n\r\n" % target_host);
response = client.recv(4096);
print response;
,我得到的错误是
socket.error: [Errno 11] Resource temporarily unavailable
如何继续循环到下一个迭代尽管第一口没有响应?
你可以使用'try'语句吗? – Neil
你只是得到那一行或堆栈跟踪? – tdelaney