質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

3回答

8832閲覧

【Android】adbコマンドなどのコマンドでgatewayを取得したい【adb】

shotakeu

総合スコア386

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2016/08/09 01:57

PCに接続しているAndroidのネットワーク情報をデスクトップから閲覧できるようにするツールを開発しています。

プログラム上でコマンドを実行し、その結果を画面に出すという簡単なものです。

  • 端末のipアドレス
  • dns1の情報

を取得することはできたのですが、
gatewayの情報だけが取得できていません。

#dns1を取得 $ adb shell getprop net.dns1 xxx.xxx.xxx.xxx #ipを取得 $ adb shell ip route | cut -d ' ' -f 12 xxx.xxx.xxx.xxx

getpropで取得できるというリファレンスもあるのですが、実際実行すると結果が得られません

$ adb shell getprop dhcp.tiwlan0.gateway (結果なし)

http://stackoverflow.com/questions/6288243/get-gateway-ip-address-in-android
こちらも試しましたが、ゲートウェイのipアドレスは載っていないようでした。

ゲートウェイアドレスはAndroidのWifi設定画面からは閲覧可能なので取得できると思っているのですが、現状その方法が見つかっておりません。

どなたか、コマンド一発でgatewayを取得する方法をご存知ないでしょうか??

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

自己解決できたので共有します。
下記コマンドでゲートウェイを取得できました。

adb shell cat /proc/net/arp | sed -n '2,2p' | cut -d' ' -f 1

これでゲートウェイに書かれてるものと同じIPを取得できました。書き換えると反映されることも確認しました(何故かレコードが追加されるだけだけど)

arpがどういうものかよくわかってませんがやりたいことはこれでできそうです。

投稿2016/08/23 10:37

shotakeu

総合スコア386

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

もしかして
dhcp.tiwlan0.gateway -> dhcp.wlan0.gateway

参考サイト

投稿2016/08/09 03:58

編集2016/08/09 04:00
abs123

総合スコア1280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shotakeu

2016/08/09 04:02

同様に結果ないですねぇ $ adb shell getprop dhcp.wlan0.gateway (結果なし)
guest

0

下記のサイトは参考にしてはいかがでしょうか。
Android端末でネットワーク情報を確認する方法

ルーティングテーブルの表示

cat /proc/net/route

投稿2016/08/09 02:26

dsuzuki

総合スコア1682

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shotakeu

2016/08/09 02:56

やっぱそれしかないですか。。。 shell芸で頑張って取得するしかないですね。。。
shotakeu

2016/08/09 05:19

プログラム側で変換してみたんですが、なにか違う値が入ってそうですねぇ bin1:0 bin2:24 bin3:137 bin4:214
dsuzuki

2016/08/09 07:11

Xperia Aで上記コマンドを試した結果、Gateway 192.168.1.1 が取得できました。 ちなみにコマンドの実行結果は、「wlan0 00000000 0101A8C0 (以下略)」。 質問欄にある「getprop」に指定している「tiwlan0」とは何でしょうか。 getpropに関する知識はないのですが、こちらで「getprop dhcp.wlan0.gateway」とすると、アドレスが取得できました。
dsuzuki

2016/08/09 07:57

「tiwlan0」はネットワーク環境によって異なるのではないでしょうか。 「getprop」のみで実行し、すべてのシステムプロパティを出力してみてはどうですか。 一字異なるだけでも取得出来なくなりますので、取得可能な情報から該当するものがあるか探した方が早いかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問