How to make a port forward in Mac OS X

I'd like to make all incoming connections to port 1000 of my host (IP: 200.234.XXX.XXX) to be forward to the port 80 on host 10.211.55.5

How can I do it on my host? It is running Mac OS X 10.5.8


Solution 1:

Quite simple to do, Firstly you will need to enable the remote login service on your mac (System Preferences -> Sharing -> Remote Login). This starts your ssh server.

Then run the following command in your OS X Terminal:

ssh -L 200.234.XXX.XXX:10000:10.211.55.5:80 -N 127.0.0.1

You may need to accept the server fingerprint initially as well as type in your local password for ssh login. (You can also set up a local to local ssh public / private key to make it not prompt for a password, will leave that as an exercise for the reader.)

The format is:

ssh -L local_addr:local_port:remote_addr:remote_port -N 127.0.0.1

Solution 2:

Very simple using the versatile tool ncat:

sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open

Get the binaries of ncat/nmap for Mac OS X from the official website: http://nmap.org/download.html#macosx

EDIT: added sudo to listen on a restricted port <1024