2013-01-03 6 views
5

Ich habe dieses Szenario. Wo schreibe ich eine apps in Android usging bash/python. Damit ich via PC eine Verbindung zu Android und von Android über USB herstellen kann, kann ich den Ziel-PC/Server verbinden.Welcher Rahmen von Android kann verwendet werden, um einen PC mit Android und Android mit einem anderen PC zu verbinden?

Aber welche API ist verfügbar, um alle meine Android-Anfragen an USB zu senden, so dass ich remote Unterstützung für den Server-PC über Android haben kann? Gibt es ein anderes verfügbares Open-Source-Framework dafür?

enter image description here

oder

enter image description here

Follow up:

Es gibt bereits "Tethering und mobiler Hotspot" Option in meinem Handy. Ohne die Installation von Apps von Drittanbietern.

enter image description here

Also, wenn ich es aktiviert ist, habe ich neue Schnittstelle namens usb0 mit IP-Adresse im selben Subnetz von Android + Laptop.

Dann habe ich einfach SSHDroid Server in Android installiert, jetzt von 3G kann ich mit dem Android verbinden. Jetzt haben PC und Android beide eine usb0-Schnittstelle mit demselben Subnetz zum Teilen von Daten, die das Problem des Fernzugriffs lösen.

Auf meinem Laptop:

$ 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 

auf meinem Android-Handy:

/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 
+0

Es ist nicht klar, was Sie bereits haben funktioniert und was Sie erreichen wollen. Und es ist auch nicht klar, ob das Rooten des Android-Geräts akzeptabel ist oder nicht. Es kommt auch darauf an, in welchem ​​Maße das 3g-Netzwerk Firewall ist. Eine universelle Lösung wäre schwer zu erreichen, aber ich denke, für bestimmte Anwendungsfälle sollte es nicht schwer sein. – akostadinov

Antwort

1

was Sie möglich machen wollen sollte aber Aufwand erfordern. Es gibt apps to enable USB tethering, aber ich denke nicht, dass sie für alle Geräte universell funktionieren. Dadurch kann ein Netzwerk erstellt werden, mit dem Sie mit dem verbundenen Server kommunizieren können. Wenn Sie den SSH-Server auf dem Android installieren, kann dieser verwendet werden, um Ihre Verbindung zu den internen Servern zu tunneln. Portweiterleitung ist another option. Ich denke, dass Sie wahrscheinlich ein gerootetes Telefon benötigen würden. Wenn eingehende Verbindungen zu Ihrem Telefon mit Ihrem 3G-Netzbetreiber möglich sind.

Wenn eingehende Verbindungen nicht möglich sind, können Sie ein Skript auf Ihrem Telefon oder einem der Server einrichten, um ssh einen bestimmten Computer (Ihren PC oder Heimrouter) alle 5 Minuten einen Tunnel zum internen Netzwerk zu erstellen.

Um stabile Hostnamen zu haben, können Sie einen dynamischen DNS-Dienst wie dnsdynamic.org verwenden, da sich Ihre öffentlichen IP-Adressen höchstwahrscheinlich zumindest am 3G-Ende ändern würden.

Ich denke jedoch, dass es viel einfacher wäre, nur eine billige Router-Box mit USB für einen 3G-Dongle zu kaufen. Oder Sie können einen 3G-Dongle auf einen Ihrer Server setzen und diesen als Router verwenden. Eigentlich können Sie versuchen, Ihr Android-Handy als USB-Modem-Dongle zu verwenden, ich finde this guide.

Es hängt alles von bestimmten Gerät Fähigkeiten und Glück, aber abschließend, wenn ich es wäre, würde ich zuerst versuchen, das Android-Handy als USB-Modem-Dongle und einen dynamischen DNS-Dienst verwenden, so dass ich immer die aktuelle IP des 3G-Verbindung. Verwenden Sie anschließend ssh, um eine Verbindung mit dem Server herzustellen, auf dem die 3G-Verbindung ausgeführt wird. Von diesem Server aus kann ssh zu jedem anderen Server gehen. Dann würde ich versuchen, einen dedizierten Router mit einigen USB 3G-Dongle verwenden. Ich würde nie für die Mühe gehen, ein Android-Telefon als Router arbeiten konfigurieren, klingt zu zeitaufwendig.

Hoffe, dass hilft.

Verwandte Themen