5

私はこのシナリオを持っています。bash/pythonを使用してAndroidで1つのアプリを作成している場所。そのため、PC 経由で Android に接続し、USB を使用して Android から宛先の PC/サーバーに接続できます。

しかし、Android 経由でサーバー PC をリモートで支援できるように、すべての Android リクエストを USB に送信するために使用できる API は何ですか? そのようなことを行うための他の利用可能なオープンソース フレームワークはありますか?

ここに画像の説明を入力

また

ここに画像の説明を入力

ファローアップ:

私のモバイルにはすでに「テザリングとポータブルホットスポット」オプションがあります。サードパーティのアプリをインストールせずに。

ここに画像の説明を入力

したがって、有効にすると、Android +ラップトップの同じサブネットにIPアドレスを持つusb0という新しいインターフェイスがあります。

次に、AndroidにSSHDroidサーバーをインストールするだけで、3GからAndroidに接続できるようになりました。現在、PC と Android の両方に、すべてのリモート アクセスの問題を解決するデータを共有するための同じサブネットを持つ usb0 インターフェイスがあります。

私のラップトップで:

$ ip addr

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether d4:be:d9:55:91:4a brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.219/24 brd 192.168.0.255 scope global eth0
        inet6 fe80::d6be:d9ff:fe55:914a/64 scope link 
           valid_lft forever preferred_lft forever

    7: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
        link/ether c6:8a:95:bf:fa:2b brd ff:ff:ff:ff:ff:ff
        inet 192.168.42.202/24 brd 192.168.42.255 scope global usb0
        inet6 fe80::c48a:95ff:febf:fa2b/64 scope link 
           valid_lft forever preferred_lft forever

Android モバイルの場合:

/data/data/berserker.android.apps.sshdroid/home # ip addr

11: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 6e:54:53:29:68:8c brd ff:ff:ff:ff:ff:ff
    inet 192.168.42.129/24 brd 192.168.42.255 scope global usb0
    inet6 fe80::6c54:53ff:fe29:688c/64 scope link 
       valid_lft forever preferred_lft forever

15: wlan0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 50:01:bb:e3:fb:d7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.163/24 brd 192.168.0.255 scope global wlan0
    inet6 fe80::5201:bbff:fee3:fbd7/64 scope link 
       valid_lft forever preferred_lft forever
4

1 に答える 1

0

やりたいことはできるはずですが、努力が必要です。USB テザリングを有効にするアプリはありますが、すべてのデバイスで普遍的に機能するとは思いません。これにより、接続されたサーバーとの通信に使用できるネットワークを作成できます。Androidにsshサーバーをインストールすると、それを使用して内部サーバーへの接続をトンネリングできます。ポート転送は別のオプションです。おそらく、ルート化された電話が必要になると思います。3gキャリアで電話へのインバウンド接続が可能な場合。

インバウンド接続が不可能な場合は、電話機またはサーバーの 1 つにスクリプトをセットアップして、5 分ごとに特定のマシン (PC またはホーム ルーター) に ssh を試行し、内部ネットワークへのトンネルを作成することができます。

安定したホスト名を取得するには、dnsdynamic.org などの動的 dns サービスを使用できます。これは、パブリック IP アドレスが少なくとも 3G 側で変更される可能性が高いためです。

とはいえ、3G ドングル用の USB を備えた安価なルーター ボックスを購入する方がはるかに簡単だと思います。または、3G ドングルをサーバーの 1 つに挿入して、ルーターとして使用することもできます。実際には、Android フォンを USB モデム ドングルとして使用してみることができます。このガイドを見つけています。

それはすべて特定のデバイスの機能と運に依存しますが、結論として、私だったら、最初に Android フォンを USB モデム ドングルとして使用し、ダイナミック DNS サービスを使用して、3G 接続の現在の IP を常に把握できるようにします。次に、ssh を使用して、3G 接続を実行しているサーバーに接続します。そのサーバーから、他のサーバーに ssh できます。次に、USB 3G ドングルを備えた専用ルーターを使用してみます。ルーターとして機能する Android スマートフォンを設定する手間はかかりません。時間がかかりすぎるように思えます。

それが役立つことを願っています。

于 2013-01-07T09:25:20.887 に答える