用好你的瑞士军刀/netcat( 三 )


其实上面几个例子,并不是说明 “netcat 可以干这些事情” 而是通过举例开一下脑洞,看看搭配管道的 netcat 究竟有多强 。
还有很多其他用法,比如你可以用 netcat + shell script 写一个 http 服务器,使用 fifo 搭配两层 nc 可以实现 tcp 端口转发,搭配 openssl 命令行工具和 nc 加管道可以把 ssl 的套接字解码并映射成裸的 socket 端口供没有 ssl 功能的工具访问 。。。。
当然你要说,这么多复杂的用法你记不住,大部分你都可以用专业软件来代替,那至少你可以先尝试使用 nc 来做 tcp/udp 端口测试,不要再用 telnet/chrome 来测试端口是否可用了,后者太过业余 。其他功能可作为备份手段,在极端恶劣的环境下使用一下,也许能帮助到你很多;再你有心情的情况下可以研究下如何使用管道搭配其他工具进行一些高阶操作就行 。
PS:

  • 实在想用老版本的 nc,就是 stdin 碰到 EOF 会自动断开连接结束程序那个版本,可以用 busybox 自带那个 nc,只是功能少点而已(Windows 的 busybox 也有 nc) 。
  • Windows 下载地址:netcat 1.11 for Win32/Win64
  • 可以把 ncat 给 alias 成 nc,完全兼容,这是 nmap 自带的一个更好的 netcat 分支,比 openbsd 版本还强,debian/ubuntu 下面安装了 ncat 后 nc 命令就会指向 ncat 。




推荐阅读