ホストの共通ポートからバナーを取得するスクリプトに取り組んでいます。ソケットを使用して接続していますが、いくつかの問題に直面しています。コードは次のとおりです。
try:
connsocket = socket(AF_INET, SOCK_STREAM)
connsocket.settimeout( 5 )
connsocket.connect((ip, port))
connsocket.send("HEAD / HTTP/1.0")
results = connsocket.recv(400)
connsocket.close()
return str(results)
except:
print '[ERROR]Failed to connect or Connection timed out'
次の 2 つの主要な問題があります。
ホストに対してスクリプトを初めて実行すると、タイムアウトで終了するポート 80 を除いて、すべてのバナーが正しく取得されます
2 番目の問題は、同じホストに対してスクリプトを再起動すると、どのポートからも応答がないことです。
2 番目の問題は、接続がまだ開いていて、スクリプトが再接続に失敗したことが原因であると思われます。最初の問題では、なぜ機能しないのかわかりません。
何か案が?よろしく。