1

ホストの共通ポートからバナーを取得するスクリプトに取り組んでいます。ソケットを使用して接続していますが、いくつかの問題に直面しています。コードは次のとおりです。

    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 番目の問題は、接続がまだ開いていて、スクリプトが再接続に失敗したことが原因であると思われます。最初の問題では、なぜ機能しないのかわかりません。

何か案が?よろしく。

4

0 に答える 0