我想通过本地网络中设备的“主机名”查找其“IP地址”。市场上有很多应用程序可以做到这一点。它们会同时提供“IP地址”和“主机名”,如“Fing”、“IP Tools”等等。但是,我仍然无法从“主机名”中找到“IP地址”。
我能够使用“dig”、“arp”和“ping”命令在“ubuntu OS 14.04”中找到“主机名”的“IP”,具体命令如下:
“dig @224.0.0.251 -p 5353 example.local”
该命令会给我输出结果,如下所示:
上述操作都在同一网络中完成,但我仍然无法通过主机名(当我从adb shell使用相同命令时)获取IP。如何在android设备上使用adb shell通过主机名找到IP?请问我做错了什么?
; <<>> 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
当我使用设备的 主机名
进行 ping 测试时,
ping example.local
它也会给出设备的 IP 地址
:
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
上执行以上命令时,大多数命令都找不到。 arp
和dig
在Android中不存在。
并且当我通过其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
上述操作都在同一网络中完成,但我仍然无法通过主机名(当我从adb shell使用相同命令时)获取IP。如何在android设备上使用adb shell通过主机名找到IP?请问我做错了什么?
example.local
上配置DNS服务器?请分享任何可以帮助我的链接/过程。我的example.local系统是基于Linux的系统,具有运行DNS服务器的许多功能。请帮帮我? - Mangesh Sambare