nc是netcat的缩写,在windows系统上,需要单独下载安装。netcat在windows系统上安装很简单,需要到如下页面https://eternallybored.org/misc/netcat/,下载一个压缩包,然后解压,将路径加入环境变量Path中即可。如下所示,是nc的帮助文档:
帮助文档中,比较关键的几个参数是:-l,表示启动监听模式,-p表示指定端口,-u主要是对于udp协议而言的,如果是tcp协议,-u参数可以不用考虑,其实不管是tcp,还是udp,他们启动监听和发送数据的命令基本类似,就是这个-u的区别。
对于监听来说,就是类似于启动一个服务端,我们需要-l参数,以及-p参数。如下所示:
# nc -l -p 8080 # 表示启动8080端口的tcp监听服务。
这时候,我们可以再开一个命令行,可以通过如下命令来连接8080端口,并发送数据。
# nc 127.0.0.1 8080
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
以上部分是通过nc工具来模拟tcp协议的监听与发送,前面提到过,可以通过增加-u参数来表示udp协议,同样的,我们来模拟一个udp协议的示例,启动监听命令中,-l -u -p可以不用分开写,可以直接连着比如-lup,如下所示:
# nc -lup 8080
启动监听之后,我们模拟一个客户端来连接,同样需要输入ip和端口号,还需要增加一个-u参数。
# nc -u 127.0.0.1 8080
另外,nc命令发送数据,可以指定本机的一个文本文件,命令就是在连接监听服务命令后面跟上< udptest.txt,如下所示:
# nc -u 127.0.0.1 8080 < udptest.txt
nc命令可以帮助我们在开发tcp/udp协议的项目中起到很重要的作用,帮助我们做模拟测试。这样,就不用别的工具,直接在命令行下就可以模拟一个客户端来发送数据,很方便。