netcat
command-line tool; kann sowohl als server als auch als client agieren
client:
aufruf: netcat (host) (port)
wie telnet
server:
"listen"-mode
aufruf: netcat -l -p (port)
proxy:
Bidirektionale Verbindung:
$ mknod backpipe p $ netcat -l -p 2525 0<backpipe | netcat iem.at 25 1>backpipe
Bidirektionale Verbindung (mit logging):
$ netcat -l -p 2525 0<backpipe | tee -a inflow | netcat iem.at 25 | tee -a outflow 1>backpipe
UDP-proxy:
ssh erlaubt einen TCP-tunnel, aber keinen UDP-tunnel; daher UDP->TCP->UDP tunnel mittels netcat (s.a. hier)
terminal 1:
local:~$ ssh -L 6667:localhost:6667 tcpserver.org remote:~$ mkfifo /tmp/fifo remote:~$ nc -l -p 6667 < /tmp/fifo | nc -u udpserver.org 161 > /tmp/fifo
terminal 2:
local: ~$ su local: ~# mkfifo /tmp/fifo local: ~# nc -l -u -p 161 < /tmp/fifo | nc localhost 6667 > /tmp/fifo