ホストへのログインなしでIPからホスト名を見つける方法


128

そのUNIXホストへのログインなしでIPがわかっているUNIXホストのホスト名を見つける必要がある


19
NBTSTAT -A 10.10.10.10 for windows
Kanagavelu Sugumar 2013年

2
答えを受け入れるつもりですか?
Paolo Stefan

2
@PaoloStefanユーザーが2009年に最後に見られた場合、それは非常にありそうもないイベントです
Boris Treukhov

回答:


163

nslookupを使用する

nslookup 208.77.188.166 
...
Non-authoritative answer:
166.188.77.208.in-addr.arpa     name = www.example.com.

2
CentOSのインストールでは、sudo yum install bind-utils最初に実行する必要があります。これにより、nslookup lookupがインストールされます
lfender6445

nslookupは非推奨です。代わりに「dig」または「host」を使用できます
P. Barbadew

74

を使用してDNSの逆ルックアップを行うこともできますhost。引数としてIPアドレスを指定するだけです。

$ host 192.168.0.10
server10 has address 192.168.0.10

43

逆引きルックアップに使用できる別のNSルックアップユーティリティにはdig、次の-xオプションがあります。

$ dig -x 72.51.34.34

; <<>> DiG 9.9.2-P1 <<>> -x 72.51.34.34
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12770
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1460
;; QUESTION SECTION:
;34.34.51.72.in-addr.arpa.      IN      PTR

;; ANSWER SECTION:
34.34.51.72.in-addr.arpa. 42652 IN      PTR     sb.lwn.net.

;; Query time: 4 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:40 2013
;; MSG SIZE  rcvd: 77

または

$ dig -x 127.0.0.1

; <<>> DiG 9.9.2-P1 <<>> -x 127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11689
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa.                IN      PTR

;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 10      IN      PTR     localhost.

;; Query time: 2 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Fri Jan 25 21:23:49 2013
;; MSG SIZE  rcvd: 63

digマンページからの引用:

逆ルックアップ(アドレスを名前にマッピング)は、-xオプションによって簡略化され ます。addrは、ドット付き10進表記のIPv4アドレス、またはコロン区切りのIPv6アドレスです。このオプションを使用する場合、名前、クラス、およびタイプの引数を指定する必要はありません。digは11.12.13.10.in-addr.arpaのような名前の検索を自動的に実行し、クエリのタイプとクラスをそれぞれPTRとINに設定します。



17
  • Windowsの場合:

    NBTSTAT -A 10.100.3.104
    

    または

    ping -a 10.100.3.104
    
  • Linuxの場合:

    nmblookup -A 10.100.3.104
    

彼らはほとんど同じです。


2
nmblookupはうまく機能しました。Webサーバーのホスト名を検索しようとしていませんでしたが、実行できないことを実行していたコンピューターです。これにより、Windowsのホスト名だけでなく、私のリストの次のMacアドレスも公開されました。
FreeSoftwareServers 2016

9
python -c "import socket;print(socket.gethostbyaddr('127.0.0.1'))"

名前だけが必要で、追加情報がない場合は、最後に[0]を追加します。

python -c "import socket;print(socket.gethostbyaddr('8.8.8.8'))[0]"

それは、無効な構文強調表示ソケットです。
Sandeep Roy

1
:括弧を持つ関数へのpython3変更印刷用python -c "import socket;print(socket.gethostbyaddr('10.16.7.10'))"
コーリー・ゴールドバーグ

7

それはコンテキストに依存します。オペレーティングシステムのホスト名を参照していると思います(hostnameログインすると返される)。このコマンドは内部名専用です。そのため、マシンの名前を照会するには、さまざまなネーミングシステムが必要です。DNS、DHCP、LDAP(DN)などの名前を使用してホストを識別するシステムは複数ありhostname、多くのシステムはzeroconfを使用して複数のネーミングシステム間で名前を同期します。このため、からのhostname結果は、dig(以下を参照)または他のネーミングシステムからの結果と一致する場合がありますが、一致しない場合があります。

DNSは、これまでで最も一般的であり、インターネット(のように両方とも使用されているgoogle.com. A 216.58.218.142(mDNSを/ LLMNR))と自宅で、ので、ここで実行する方法ですDNSの逆引き参照をdig -x <address>nslookuphost単純であり、以下の詳細を提供し、さらには異なる返すことがあります。結果;ただし、dig Windowsには含まれません)。

CDN内のホスト名は正規のドメイン名(「google.com」など)ではなく、照会したホストIPのホスト名(「dfw25s08-in-f142.1e100.net」など)に解決される。興味深いtidbit: 1e100は1 googolです)。

また、DNSホストには複数の名前を付けることができることにも注意してください。これは、複数のWebサーバー(仮想ホスティング)を備えたホストでは一般的ですが、仮想化テクノロジーの普及により、あまり一般的ではなくなりました。これらのホストには複数のPTR DNSレコードがありますます。

最後に、DNSホストレコードは/ etc / hostsを介してローカルマシンによって上書きされる可能性があることに注意してください。期待するホスト名を取得できない場合は、必ずこのファイルを確認してください。

DHCPホスト名は、使用するDHCPサーバーソフトウェアに応じて異なる方法でクエリされます。これは、(私の知る限り)プロトコルがクエリの方法を定義していないためです。ただし、ほとんどのサーバーでは、これを行う方法がいくつか用意されています(通常は特権アカウントを使用)。

注DHCP名は通常DNSサーバーと同期されるため、DHCPクライアントの最小テーブルとDNSサーバーのA(IPv6の場合はAAAA)レコードに同じホスト名が表示されるのが一般的です。繰り返しますが、これは通常、zeroconfの一部として行われます。

また、クライアントにDHCPリースが存在するからといって、それがまだ使用されているわけではありません。

NetBIOS for TCP / IP(NBT)は何十年もの間名前解決を実行するために使用されていましたが、名前解決のために LLMNR (Windowsのzeroconfの一部)に置き換えられました。このレガシーシステムは、nbtstat(Windows)またはnmblookup(Linux)で引き続きクエリできます。


@John Syrinek DHCPホスト名クエリについて詳しく説明できますか?(同じwlan内の)別のマシンのホスト名をIPで照会したいのですが、これは可能ですか?
jfly 2017年

2

ここでの他の答えは正しいです-逆DNSルックアップを使用してください。スクリプト言語(Python、Perl)で実行する場合は、gethostbyaddr APIを使用できます。




-1

ほとんどの場合、tracerouteコマンドは問題なく機能します。nslookupおよびhostコマンドが失敗する場合があります。


4
これは間違っています。IPが与えられた場合、行うべきことはDNSへの逆クエリのみです。したがって、tracerouteは推奨する適切なツールではありません。
Ottavio Campana 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.