IPアドレスからホスト名を解決する


回答:


121

あなたが探しているコマンドはと呼ばれnslookup、誰かが逆ゾーンファイルを設定したIFFを逆引きするのにうまく機能しますが、常にそうするわけではありません。


89

上記のすべてが失敗し、特にWindowsマシンを探している場合は、次を使用できます。

nbtstat -a 192.168.1.50

返されるデータは、マシンにあるすべてのNetBIOSレコードです。<20h>レコードタイプのレコードは、通常、マシンの名前になります。


3
オープンVPNを介して接続されたときに動作していない
Alexander.Iljushkin

@Flextra-マシンへのSMBアクセスが必要になります。VPNがブロックしている可能性があります。
ムース

興味深いことに、フォーマットの完全修飾ドメイン名にタックするように見えます:Pinging NETBIOSNAME.DOMAINNAME.com [xxx.xxx.xxx.xxx]。ドメイン上ではなくネットワーク上にある場合(私にとって興味のあるUNIXシステム)、IP ping -aアドレスだけでフォーマットするだけです。
jxramos

私のために働く。ちょうど私が必要なもの!
FearlessFuture

57

多くのIPアドレスでは、たとえばping -aを使用できます。

ping -a 209.85.229.106

戻ります

Pinging ww-in-f106.google.com [209.85.229.106] with 32 bytes of data:

Reply from 209.85.229.106...........

2
これは、ほとんどすべてのマシンで普遍的に利用可能であるため、常に最初に使用するものです。
Goyuix

14
pingは、単純なDNSルックアップを行うためによく使用されます... ため息はしません。
PEra

これは私のLANのラズベリーからホスト名を取得した唯一の答えです。@PEraなぜこれが悪い答えですか?
アンディ

29

最初の引数としてIPアドレスを指定してnslookupコマンドを使用すると、PTRレコード(逆エントリ)が存在する場合はそれが返されます。例えば:

nslookup 192.168.1.50

2

digを使用します。Windowsポートは、ISCから入手できます(zipファイルへのリンクについては、即時ダウンロードボックスをご覧ください)。digのマニュアルページリファレンスを次に示します

逆引き参照レコードが作成されないことが多いというウォードの主張は、非常に真実です。多くの管理者がPTRレコードの作成を気にしないため、逆引きはしばしば失敗します。


1

(Windows 10 x64でテスト済み)

コマンドラインから:

FOR /F "tokens=2 delims= " %A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %A

スクリプト内:

FOR /F "tokens=2 delims= " %%A in ('2^>NUL NSLOOKUP "%IP_ADDRESS%" ^| FINDSTR /C:": "') do ECHO %%A

2つの(サイド)ノート:

  • NSLOOKUPエラーを抑制するには、2^>NUL代わりに使用する必要があります1^>NUL
  • FINDSTR /C4つの空白文字の後に値を抽出するために使用しました。4つのスペースはName:エントリにのみ存在するように見えるため、これは他のローカライズされたシステムで機能させるための唯一の方法のようです。

0

psexec \ 192.168.0.65ホスト名

DMHD006 ホスト名は、エラーコード0で192.168.0.65で終了しました。


1
設定されたホスト名は、DNSで設定されたホスト名と必ずしも一致しないことに注意してください。
ジェラルドシュナイダー

-2

同じネットワーク内のホスト名を知りたい場合は、同じネットワークを持つ別のマシンを使用し、以下を使用してください
Ping -an ip addres


2
この答えがすでにここにあることに気づきませんでしたか?–そして、それはこのために設計されていません。
エサヨキネン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.