1
我试图用横幅抓取在python中编写一个端口扫描器。套接字无法建立连接
没有s.send('getBanner\n')
行(抓住横幅)我的脚本工作,并打印开放端口。
但是,当我添加'getBanner'
行,套接字错误说'[Errn 32] Broken Pipe'
。
我知道这个错误可能发生,因为客户端不会等待连接建立并关闭套接字。我该如何解决这个问题?
代码:
import socket
host = '192.168.1.1'
for port in range(1,1024):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = s.connect_ex((host, port))
s.send(('getBanner\n'))
banner = s.recv(1024)
if result == 0:
print "[+] Port %s tcp/open" % port
print "[+] Banner: %s" % banner
s.close()
它像预期的那样工作。感谢您的建议 –