if data.find('!scan') != -1:
nick = data.split('!')[ 0 ].replace(':','')
targetip = str(socket.gethostbyname(args))
sck.send('PRIVMSG ' + chan + " :" ' scanning host' + " " + targetip + '\r\n')
for i in range(20, 1025):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = s.connect_ex((targetip, i))
if (result == 0) :
s.send('PRIVMSG ' + chan + " :" 'port %d: OPEN' % (i,) + '\r\n')
s.close()
Сценарий работает, но он пропускает тайм-аут, прежде чем сможет получить открытый порт, как я могу сделать так, чтобы он мог сканировать несколько портов, затем проверять пинг с сервера и отправлять pong, а затем сканировать еще несколько портов, чтобы что он не будет пинговать тайм-аут.