ubuntu12.04下nc -l -p port已经无效,将-p丢掉直接nc -l port即可.

    我们要得效果为将telnet的端口转发到端口2222.

    首先监听端口 : nc -l 2222

    开新终端输入 : sudo iptables -t nat -A PREROUTING -p tcp --dport 23 -j REDIRECT --to-ports 2222

    然后在win7系统上使用putty telnet连接 linux机器 -> 192.168.1.121:23 , 哦鸟!

    在输入指令时,时而发现nc无法绑定端口的状况,使用netstat -l -p查看之:

    

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost:domain        *:*                     LISTEN      -               
tcp        0      0 localhost:ipp           *:*                     LISTEN      -               
tcp        0      0 *:2222                  *:*                     LISTEN      -               

    用jobs发现后台有nc没有关掉,kill后一切正常.然后查看netstat状况应该如下:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost:domain        *:*                     LISTEN      -               
tcp        0      0 localhost:ipp           *:*                     LISTEN      -               
tcp        0      0 *:2222                  *:*                     LISTEN      4040/nc         

    查看进程 ps -A |grep 4040

4040 pts/2    00:00:00 nc

Logo

更多推荐