2016-04-15 3 views
0

私はホスト名からfqdnを取得します。 Linuxサーバでこのコマンドを実行しています: python -c "import sys、socket; sys.stdout.write(socket.gethostbyaddr( '')[0])" このコマンドは正常に動作し、からfqdnを返します。ホスト名しかし、いくつかの他のサーバーのために、それはこのエラーを返します。 トレースバック(最新の呼び出しの最後): ファイル「:ホストを」「 socket.herrorで、ライン1、[ERRNO 1]不明なホストsocket.gethostbyaddrは不明なホストを返します

私が行うと」 linuxコマンドを実行すると、pythonコマンドで失敗したホスト名のfqdnを取得します。

誰かが解決策をお持ちですか?

+0

同じインターフェイスで3つのIPを取得し、5つのサービスを取得しました。あなたはホスト名を取得したいが、どのインターフェース(またはクローンインターフェース)が現在のものか?ホスト名を取得する前にIPアドレスを定義してください。 'netifaces'モジュールを使用してください... – dsgdfg

答えて

0

Difficulty using Python's socket.gethostbyaddr()はこれをうまくカバーします。

要点は、PTRレコードがあることを確認する必要があることです。そうでない場合は、try、except節で処理する必要があります。

特に、有効なPTRレコードと無効なPTRレコードを比較する部分を見てください。

+0

私の入力はIPアドレスではありませんでしたが、ドメインのないホスト名でした。サーバー名。 – user3652134

関連する問題