Windowsで、IPアドレスを取得してホスト名を返すコマンドラインツールを探しています。
あなたが探しているコマンドはnslookup
と呼ばれ、逆引きで問題なく動作します[〜#〜] iff [〜#〜]誰かが逆ゾーンファイルを設定しましたtは常にします。
上記のすべてが失敗し、特にWindowsマシンを探している場合は、
nbtstat -a 192.168.1.50
返されるデータは、マシンにあるすべてのNetBIOSレコードです。 <20h>レコードタイプを持つものは通常、マシンの名前です。
多くの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...........
IPアドレスを最初の引数としてnslookupコマンドを使用すると、PTRレコード(存在する場合)が返されます。例えば:
nslookup 192.168.1.50
Digを使用します。 WindowsポートはISCから入手できます ここ (Zipファイルへのリンクについては、即時ダウンロードボックスを参照してください)。これが Digのマニュアルページリファレンス です。
リバースルックアップレコードが作成されないことが多いというワードのポイント は、非常に真実です。多くの管理者がptrレコードを作成する手間を省いているため、逆引きは失敗することがよくあります。
(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 /C
を使用して、4つの空白文字の後の値を抽出しました。 4つのスペースはName:
エントリに対してのみ存在するように見えるため、これは他のローカライズされたシステムで機能させるための唯一の方法のようです。psexec\192.168.0.65ホスト名
DMHD006 192.168.0.65にエラーコード0で終了したホスト名。