ゲートウェイIPの詳細を取得する方法、wifimanagerを使用するオプションがありますが。 Android usbテザリングを使用して接続した場合のデバイス)でゲートウェイ、dns、およびその他の詳細を見つける方法がわからない場合.
Android 2.3.4でcyanogenmod 7.2を使用し、ターミナルエミュレータを開いて次のように入力します。
$ ip addr show
$ ip route show
私はこの回答を、より最近のAndroid builds(CM11/KitKat/4.4.4)のユーザー向けの更新として投稿したかった。TouchWizまたはそれ以前のAndroidはYMMVをリリースします。
次のコマンドは、すべての通常の場所(ADB、ターミナルエミュレーター、シェルスクリプト、Tasker)で実行できます。
利用可能なすべてのプロパティをリストします。
getprop
WiFiインターフェイスを取得します。
getprop wifi.interface
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
上記のコマンドは、WiFiが実際にその時点で接続されているかどうかに関係なく情報を出力します。
次のいずれかを使用して、wlanがオンかどうかを確認します。
ifconfig wlan0
netcfg | awk '{if ($2=="UP" && $3 != "0.0.0.0/0") isup=1} END {if (! isup) exit 1}'
次のいずれかを使用して、wlan0のIPアドレスを取得します(接続されている場合のみ)。
ifconfig wlan0 | awk '{print $3}'
netcfg | awk '/^wlan0/ {sub("(0\\.0\\.0\\.0)?/[0-9]*$", "", $3); print $3}'
完全を期すために、インターネットに公開されているパブリックIPアドレスを取得するには、外部サービスを使用する必要があります。パブリックIPを取得するには:
wget -qO- 'http://ipecho.net/plain'
公開ホスト名を取得するには:
wget -qO- 'http://ifconfig.me/Host'
または、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
注:前述のawk
コマンドは、さまざまなバージョンのnslookup
からの出力を処理できるため、非常に複雑に思えます。 Androidはnslookup
の一部としてbusybox
の最小バージョンを含みますが、スタンドアロンバージョンもあります(多くの場合、dnsutils
に含まれます)。
オンAndroid 7はそれを動作させる:
ip route get 8.8.8.8
出力は8.8.8.8ゲートウェイ経由...
ターミナルに行く
$ adb -s UDID Shell
$ ip addr | grep inet
or
$ netcfg | grep inet
DNSサーバーは経由で取得されます
getprop net.dns1
更新:Android Nougat 7.x、ifconfigが存在し、netcfgがなくなっているため、ifconfigを使用してIPとネットマスクを見つけることができます。
これは私にはうまくいくようです。 Touchwiz 5.1、LineageOS 7.1、およびCyanogenMod 11でテスト済み。
ip route list match 0 table all scope global
次のような出力が得られます。
default via 192.168.1.1 dev wlan0 table wlan0 proto static
ターミナルエミュレータアプリをインストールし、ルーティングテーブルを表示するには、コマンドプロンプトからiproute
を実行します。ルート権限は必要ありません。 DNSサーバーの入手方法がわかりません。 /etc/resolv.conf
ファイルはありません。 nslookup www.google.com
を試してサーバーのレポートを確認できますが、私の電話では0.0.0.0
をレポートしますが、あまり役に立ちません。
このソリューションは、ネットワークパラメータを提供します。これを確認してください solution