Android Reverse Tether

There might come a time when you need to access the internet from your phone, but you don’t have access to WiFi or mobile data. When that happens, Android Reverse Tether would be a useful thing to know. Reverse tethering means to share your computer internet connection with your phone (rather than the other way around). There are a couple of ways that you can do it. One way is to create a WiFi hotspot from your computer. For this tutorial, we are going to reverse tether via USB on Android.

What you will need:

  • Java Runtime Environment 
  • Android Debug Tools Installed (ADB)
  • Git Bash (Only if you’re using Windows)
  • Gnirehtet

Setup Android Reverse Tether:

Begin by downloading Gnirehtet. This is the application that will allow you to reverse tether your Android device. Romain Vimont, the developer of Gnirehtet, posted an interesting article about how he developed this. After you have downloaded Gnirehtet, unzip it to anywhere on your PC.

Next, navigate to where you unzipped Gnirehtet. Right click and open up a new bash terminal.

Inside of the terminal type in: ./gnirehtet relay

That will start the service on your computer. Now open up a new bash window in the same directory. Make sure that your Android device is connected and USB debugging is enabled. Type in the following commands:

./gnirehtet install

./gnirehtet start

That will install the application to your Android device and start the service. There appears to be no launcher icon for the application, so you will not see it in your app drawer. Also, you will get a request on your Android device to set up a VPN connection; accept the request. You can confirm it’s working by checking the previous bash window where you typed Gnirehtet relay. You should see the log of the packets, To stop the service when you’re done, type in: ./gnirehtet stop