[英]find local network address in Android - including IP and NetMask? (ethernet not wifi)
[英]How to find ip address through hostname in local network?
我想通过本地网络中的hostname
查找设备的IP Address
。 市场上的许多应用程序都这样做。 它同时提供IP Address
和hostname
,例如Fing
、 IP Tools
等等。 但我仍然无法从hostname
找到IP Address
。
我可以在ubuntu OS 14.04
使用dig
、 arp
和ping
命令找到hostname
的IP
,请参阅以下命令:
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 中不存在arp
和dig
。 当我使用他们的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
通过他们的hostname
在android
设备上找到IP
。
有谁知道我做错了什么?
我们可以运行 ping 命令如下
ping hostname -f
从括号中的输出我们可以看到机器的IP地址
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.