Android Usb Port Forwarding (By Thierry Parent)

Ho tradotto, previa autorizzazione dell’autore Thierry Parent, l’articolo Android Usb Port Forwarding pubblicato su CodeProject.

Ecco la traduzione:


Questo tool crea un tunnel USB tra un dispositivo android e il PC. Il tunnel inoltra la comunicazione da e verso l’host Windows

Introduzione

L’architettura di Android non permette di avviare la comunicazione da Android con l’host attraverso cavo USB. Il contrario è possibile, utilizzando lo strumento “Android Debug Bridge” (ADB in breve) fornito da Google.
Questo strumento agisce da tunnel tra l’applicazione client Android e il server host. Si tratta di un’implementazione software di un router adibito a IP port forwarding.

Nella parte Host, è necessario dichiarare le porte che si vogliono tenere aperte sul lato Android e il tunnel incapsulerà le comunicazioni tra android e l’host. L’host può essere qualsiasi server in rete o in locale.


Prerequisiti

  • Abilitare “debugging Usb” sul tuo Android: Vai a parametri / Applicazioni / Sviluppo e abilita l’opzione “Usb Debugging”
  • Installare”Usb Tunnel” sul tuo Android (vedi link download sulla parte superiore di questo articolo) o dal Market:
  • Installare l’applicazione host Windows (vedi link di download in cima all’articolo) o dal collegamento SkyDrive o questo link gDoc
  • Sul pannello di configurazione, immettere il percorso del programma ADB. ADB è parte del SDK di Android. L’installazione include i file richiesti minimi.
  • Aggiungi tunnel. Ogni tunnel è composto da un nome, una porta Android (una porta bassa come la 80 non può essere utilizzata), un indirizzo IP e una porta dello host (può essere diversa dalla porta sul dispositivo android)

Proxy HTTP

Se il Tethering è una tecnologia che permette di utilizzare la connessione Internet mobile sul vostro PC, questo strumento ti permette di fare il contrario. E’ una sorta di Reverse Tethering.

Puoi così sul cellulare (utilizzando la connessione Internet sul vostro PC) attraverso il tunnel Usb e tramite un proxy.

Se sei su una rete aziendale, chiedi al tuo amministratore indirizzo IP e porta del proxy. In alcuni casi può essere il gateway predefinito (eseguire il comando ipconfig al prompt di DOS per scoprire quale sia il gateway predefinito).

Se sei su una rete privata e non hai idea circa l’indirizzo del proxy e la porta, è possibile utilizzare un proxy pubblico (fare ricerca per “public proxy pubblico” su internet). Per aiutarti, questo è un link a una lista di proxy pubblici.

Un’altra possibilità è installare un server proxy http locale come Squid.

Fase 1: configurare la parte di Windows. Dal momento che le porte basse non possono essere utilizzate, è necessario utilizzare una differente porta alta per Android e un’altra porta per l’host aziendale.

Configurazione di esempio per una rete  (192.168.xxx.xxx) sulla porta 80

Configurazione di esempio per un proxy internet pubblico sulla porta 8080

Fase 2: Collegare il cavo USB (ovviamente). Fare clic sul pulsante di refresh per visualizzare il dispositivo nell’elenco dei dispositivi, quindi fare clic su Connessione. Il servizio del tunnel Android Usb verrà avviato in background. L’icona di connessione verrà aggiunta nel pannello di notifica.

Fase 3: Configura il browser per utilizzare un proxy. A seconda della versione del sistema operativo Android, è possibile definire un proxy http nel menù Avanzate / Impostazioni wifi (non testata, disponibile in alcuni Android, ma non tutti).

Browser Chrome normale

  • non ho trovato un modo per farlo funzionare . Dimenticati TransparentProxy, ProxyDroid o ASProxy, che richiedono Root e non funzionano

Opera Mobile

  • Inserisci opera:config nella barra degli indirizzi
  • Espandere la parte proxy:
  • server HTTP:  127.0.0.1:8080
  • server HTTPS: 127.0.0.1:8080
  • Usa HTTP: spuntato
  • Usa HTTPS: spuntato
  • Clicca su “Salva”

Firefox Mobile

  • Digitate about: config nella barra degli indirizzi
  • nel filtro di ricerca (sotto barra degli indirizzi), inserire “proxy”
  • Imposta network.proxy.http a 127.0.0.1
  • network.proxy.http_port Impostare a 8080
  • network.proxy.type Impostare a 1 (Manuale). Di default è 5 (sistema)

Skyfire

  • non ho trovato un modo per farlo funzionare


Fase 4: Buon divertimento! Digita una qualsiasi URL nel tuo browser. Il tuo firewall potrebbe rilevare che AndroidTool.exe stia cercando di accedere a Internet: dagli i diritti di accesso al proxy.



In questa schermata, è possibile vedere il numero di connessioni attive, connessioni chiuse, totale byte trasferiti (da e per)
Ho verificato con un test di velocità di internet. E’ solo un pochino più lento.

Licenza

Questo articolo, insieme a qualsiasi codice sorgente e dei file associati, è sotto licenza The Code Prjoect Open License (CPOL)

Revisioni

Maggio 2011: prima versione

Chi è l’Autore



Thierry Parent



Sw Architect



Belgio

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.