Skip to content

eirikb/Netro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Netro

Screenshot 1.0.1

Reverse tunneling in Windows.

Try it out: http://eirikb.github.io/Netro/1.0.1/Netro.exe
Warning: Executable, use at your own risk!
Netro works perfectly with mono for Linux / OSX.

I usually fire up ssh -R when I need some reverse tunneling, on any platform. But sometimes I have to tunnel from Windows to Windows, and this is a bit more difficult, as I usually don't have sshd running on Windows servers.
Netro, a bad play on "Metro" is here to help me and others that must do some quick, dirty and simple tunneling on Windows.

Here is an example: The right side in the following figure is behind a firewall, the left side is publicly accessible.

  1. Netro A listens for incoming connections, and listens for reverse tunneling.
  2. Netro B connects to A for tunneling.
  3. When a client connects to A the data will be transferred through the link between A and B.
  4. Connection is made on B to desired host:port.
  5. Data can now flow both ways.

Figure:

                    β”Š
    u               ┆               O
    β”‚               ┆               β”‚ 
β”Œβ”€β”€β”€β”΄β”€β”€β”€β”           ┆           β”Œβ”€β”€β”€β”΄β”€β”€β”€β”
β”‚       β”‚           ┆           β”‚       β”‚
β”‚   A   β”œβ”€β”€β”€α‘•O──────┆────────────   B   β”‚
β”‚       β”‚           ┆           β”‚       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”˜           ┆           β””β”€β”€β”€β”€β”€β”€β”€β”˜
                    ┆

Tunneling types

Netro.exe 5000 localhost:80
Listen on port 5000, send connections/data to localhost on port 80. No reverse tunneling involved (Proxy).

    β”Œβ”€β”€β”€β”€β”€β”
ᑐ────     β”œβ”€β”€β”€O
    β””β”€β”€β”€β”€β”€β”˜

Netro.exe 5000 5001
Listen on port 5000 for normal connections. Listen on port 5001 for reverse tunneling connection.

       u
       β”‚
    β”Œβ”€β”€β”΄β”€β”€β”
ᑐ────     β”‚
    β””β”€β”€β”€β”€β”€β”˜

Netro.exe example.com:5001 localhost:80
Open reverse tunneling cunnection against example.com on port 5001. On reverse connections, open connection against localhost on port 80.

   O
   β”‚
β”Œβ”€β”€β”΄β”€β”€β”
β”‚     β”œβ”€β”€β”€O
β””β”€β”€β”€β”€β”€β”˜

License

MIT © Eirik Brandtzæg

About

Reverse tunneling / proxy in Windows

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages