Him*_*shu 25 ip android gateway
如何获取网关IP详细信息,有使用wifimanager的选项但是.如果没有wify如何在使用usb tethering连接时在android设备中找到网关,dns和其他细节.
小智 22
我在android 2.3.4上使用cyanogenmod 7.2,然后只需打开终端模拟器并键入:
$ ip addr show
$ ip route show
Run Code Online (Sandbox Code Playgroud)
Six*_*Six 15
我想将此答案发布为更新近期Android版本(CM11/KitKat/4.4.4)用户的更新.我还没有使用TouchWiz或更老的Android版本来测试任何这些YMMV.
可以在所有常用位置(ADB,终端仿真程序,shell脚本,Tasker)中运行以下命令.
列出所有可用的属性:
getprop
Run Code Online (Sandbox Code Playgroud)
获取WiFi界面:
getprop wifi.interface
Run Code Online (Sandbox Code Playgroud)
WiFi属性:
getprop dhcp.wlan0.dns1
getprop dhcp.wlan0.dns2
getprop dhcp.wlan0.dns3
getprop dhcp.wlan0.dns4
getprop dhcp.wlan0.domain
getprop dhcp.wlan0.gateway
getprop dhcp.wlan0.ipaddress
getprop dhcp.wlan0.mask
Run Code Online (Sandbox Code Playgroud)
无论当时是否实际连接WiFi,上述命令都将输出信息.
使用以下任一方法检查wlan0是否打开:
ifconfig wlan0
netcfg | awk '{if ($2=="UP" && $3 != "0.0.0.0/0") isup=1} END {if (! isup) exit 1}'
Run Code Online (Sandbox Code Playgroud)
使用以下任一方法获取wlan0的IP地址(仅当连接时):
ifconfig wlan0 | awk '{print $3}'
netcfg | awk '/^wlan0/ {sub("(0\\.0\\.0\\.0)?/[0-9]*$", "", $3); print $3}'
Run Code Online (Sandbox Code Playgroud)
为了彻底,要获得面向Internet的公共IP地址,您将需要使用外部服务.获取您的公共IP:
wget -qO- 'http://ipecho.net/plain'
Run Code Online (Sandbox Code Playgroud)
要获取您的公共主机名:
wget -qO- 'http://ifconfig.me/host'
Run Code Online (Sandbox Code Playgroud)
或者直接从您的IP地址获取您的公共主机名:
(nslookup "$(wget -qO- http://ipecho.net/plain)" | awk '/^Address 1: / { if ($NF != "0.0.0.0") {print $NF; exit}}; /name =/ {sub("\\.$", "", $NF); print $NF; exit}') 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
注意:上述awk命令似乎过于复杂,因为它能够处理各种版本的输出nslookup.Android包括的最小版本nslookup作为一部分busybox但有一个独立版本以及(通常包括在dnsutils).
小智 5
在Android 7上可以运行:
ip route get 8.8.8.8
Run Code Online (Sandbox Code Playgroud)
通过网关的输出将是:8.8.8.8 ...
| 归档时间: |
|
| 查看次数: |
190840 次 |
| 最近记录: |