繁体   English   中英

如何通过本地网络中的主机名查找IP地址?

[英]How to find ip address through hostname in local network?

我想通过本地网络中的hostname查找设备的IP Address 市场上的许多应用程序都这样做。 它同时提供IP Addresshostname ,例如FingIP Tools等等。 但我仍然无法从hostname找到IP Address

我可以在ubuntu OS 14.04使用digarpping命令找到hostnameIP ,请参阅以下命令:

dig @224.0.0.251 -p 5353 example.local

这个命令给了我这样的输出:

 ; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> @224.0.0.251 -p 5353 example.local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56566
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;example.local.         IN  A

;; ANSWER SECTION:
example.local.      10  IN  A   192.168.0.142

;; Query time: 0 msec
;; SERVER: 192.168.0.142#5353(224.0.0.251)
;; WHEN: Mon May 30 17:01:06 IST 2016
;; MSG SIZE  rcvd: 47

那个特定的ANSWER SECTION为我提供了针对hostname ip 也当我使用以下命令时:

arp -vn example.local

它给了我以下输出:

Entries: 4  Skipped: 4  Found: 0
example.local (192.168.0.142) -- no entry

此外,当我使用他们的hostname ping 设备时

ping example.local

它还给了我IP Address

PING example.local (192.168.0.142) 56(84) bytes of data.
64 bytes from 192.168.0.142: icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from 192.168.0.142: icmp_seq=2 ttl=64 time=0.059 ms
64 bytes from 192.168.0.142: icmp_seq=3 ttl=64 time=0.045 ms
64 bytes from 192.168.0.142: icmp_seq=4 ttl=64 time=0.060 ms
64 bytes from 192.168.0.142: icmp_seq=5 ttl=64 time=0.069 ms

但是当我在adb shell上执行上述命令时,大部分命令都找不到。 android 中不存在arpdig 当我使用他们的hostname通过 adb shell ping 设备时,它给了我以下错误:

ping: unknown host example.local

但是当我通过设备的ip ping 时,它成功地 ping 了:

$ ping 192.168.0.142                                         
PING 192.168.0.142 (192.168.0.142) 56(84) bytes of data.
64 bytes from 192.168.0.142: icmp_seq=1 ttl=64 time=263 ms
64 bytes from 192.168.0.142: icmp_seq=2 ttl=64 time=231 ms
64 bytes from 192.168.0.142: icmp_seq=3 ttl=64 time=1.82 ms
64 bytes from 192.168.0.142: icmp_seq=4 ttl=64 time=1.99 ms
64 bytes from 192.168.0.142: icmp_seq=5 ttl=64 time=122 ms
64 bytes from 192.168.0.142: icmp_seq=6 ttl=64 time=5.63 ms

以上事情是在同一个网络中完成的,但我仍然没有通过hostname获取IP (当我使用来自adb shell相同命令时)。 如何使用adb shell通过他们的hostnameandroid设备上找到IP
有谁知道我做错了什么?

我们可以运行 ping 命令如下

ping hostname -f

从括号中的输出我们可以看到机器的IP地址

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM