私はバナーをつかんで、Pythonでポートスキャナをコーディングしようとしています。ソケットは接続を確立できません
s.send('getBanner\n')
行(バナーをつかむ)がなければ、私のスクリプトは動作し、開いているポートを表示します。
しかし、'getBanner'
行を追加すると、ソケットエラーはと表示されます。
このエラーは、接続が確立されてソケットが閉じるまでクライアントが待機しないことが原因である可能性があります。これをどうすれば解決できますか?
コード:
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()
期待どおりに機能しました。アドバイスありがとう –