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