3 votes

Transfert de port vers le câble USB

J'ai un RaspberryPi qui est connecté à un téléphone Android via USB et le Tethering USB est en place. Le téléphone Android est connecté au routeur domestique (Wi-Fi). Avec cette configuration, mon Raspberry Pi peut atteindre l'Internet avec USB-Android Phone-Home Router-Internet path. Et je peux joindre ma Raspberry Pi avec l'application VX ConnectBot sur mon téléphone Android. Ce que je veux faire, c'est établir une connexion ssh à Raspberry Pi avec mon ordinateur portable (qui est également connecté au routeur domestique). Est-il possible de rediriger les paquets wi-fi entrants vers usb sur un téléphone Android ?

Pour être clair, voici le chemin que je veux ;

Ordinateur portable (connexion ssh) -> Routeur domestique -> Téléphone Android -> USB -> Raspberry Pi

5voto

Eugen Points 196

Cela devrait être possible et nécessite un port forward inverse, qui peut être configuré avec adb :

Exécutez cette commande sur votre Raspberry Pi : adb reverse tcp:<remote> tcp:<local> donde <remote> est le port TCP de votre téléphone Android et <local> le port TCP sur votre Raspberry Pi.

adb reverse tcp:2222 tcp:22

Disons que votre téléphone Android a l'IP WiFi 192.168.1.5. Maintenant, vous devriez pouvoir vous connecter depuis votre ordinateur portable (ou tout autre appareil sur le WiFi) à 192.168.1.5:2222 et être redirigé vers le port ssh de votre Raspberry Pi sur le port 22.

Vous pouvez avoir besoin de construire adb pour Raspbian vous-même, ce qui est expliqué aquí . Mais les versions récentes de Raspbian devraient inclure un client adb récurrent.

2ème option : vous pourriez faire suivre (relayer) les ports au sous-réseau de tethering USB - généralement 192.168.42.x, où 192.168.42.129 est votre téléphone Android et le Raspberry Pi aura une interface usb0 avec l'adresse IP attribuée par le DHCP d'Android. Comprenez qu'une fois le tethering USB activé, votre téléphone aura deux interfaces réseau actives : wlan0 (qui est votre WiFi 192.168.1.x comme d'habitude) et usb0 (qui est 192.168.42.x). Vous devez connaître l'IP usb0 de votre Raspberry Pi, une fois qu'il est connecté au tethering USB. Maintenant, pour que tout cela fonctionne, vous devez utiliser un outil tel que tcpxd sur votre téléphone Android :

tcpxd 192.168.1.5:2222 192.168.42.55:22

Où 192.168.42.55 est votre usb0 IP de votre Raspberry Pi. Même chose que pour l'option 1 : vous devriez pouvoir vous connecter depuis votre ordinateur portable (ou tout autre appareil sur le WiFi) à 192.168.1.5:2222 et vous retrouver avec une redirection de port (relayée) vers le ssh de votre Raspberry Pi sur le port 22.

Les deux solutions devraient fonctionner sans Root.

-1voto

user41818 Points 1

Fwd : forwarder de port L'application peut transférer les ports TCP et UDP.

L'utilisation est simple :

  1. Cliquez sur le plus pour ajouter une nouvelle règle
  2. Donnez-lui un titre
  3. Sélectionner le protocole (TCP ou UDP ou les deux)
  4. Sélectionnez l'interface et le port source
  5. Fournir l'IP et le port de la cible

Cependant, il y a deux limites :

  • Vous devez connaître l'adresse IP locale du PC / RaspberryPi qui change probablement à chaque fois que vous activez l'USB-tethering.
  • L'application ne crée pas de véritable redirection de port au niveau de la couche IP (cela nécessiterait des privilèges Root). Au lieu de cela, les données entrantes sont transférées vers un nouveau flux vers le PC connecté, de manière similaire à la méthode suivante socat . Cela modifie l'adresse IP d'envoi, ce qui n'est pas acceptable pour tous les cas d'utilisation.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X