2012年8月9日木曜日

AndroidとPCをUSBケーブルでネット接続

無線LANが使えない環境で、rootを取らずにAndroidとPCをネットワーク接続出来ないものかと色々調べていました。
  • adb forwardとAndroidのSSHサーバーの組み合わせ
    Androidで動いているsshdのポートをadb forwardでPCに持ってきておいて、今度はそのポートにssh接続してtunnelを作ってみましたが、どうやらAndroid側で新規にポートを開くのが許可されていないらしく失敗。
  • USB TunnelとWindowsアプリの組み合わせ
    AndroidアプリのUSB Tunnelとadbを使ったWindowsアプリでネットワークを構成するのですが、Windowsアプリが必要という時点で対象外。
  • adb ppp !!
    よくよく調べてみると、adbにpppコマンドがあることを発見。
    ドキュメントがほとんど無かったのですが、とりあえず次のコマンドを実行してみると、PC側、Android側のそれぞれにppp0インターフェースが出来て、IPアドレスも振られることが確認出来ました。
    adb ppp "shell:pppd nodetach noauth noipdefault /dev/tty" nodetach noauth noipdefault notty <local-ip>:<remote-ip>
    その後、Android側からpingを打ってみると、きちんと反応が返ってきて接続が出来ているようだったので、今度はブラウザでアクセスしてみたら反応なし。
    ルーティングがおかしいのかと思ったり少し悩みましたが、そういえばFirewallということで、iptablesの設定を変えてみたら、無事にAndroidのブラウザからUSBケーブルを通してPCの鯖が見えるようになりました。

0 件のコメント:

コメントを投稿