Linux系统下nc命令的常见用法
的有关信息介绍如下:nc的全名是netcat,其主要用途是建立和监听任意TCP和UDP连接,支持ipv4和ipv6。因此,它可以用来网络调试、端口扫描等等。
1、网络调试——测试端口号能否连接
用法:nc -zv 主机的ip或域名 端口号
-z告诉netcat,用户不想发送数据给主机,nc不用等待用户输入。
-v告诉netcat输出详细的交互过程。
2、网络调试——作为服务端,监听特定端口号。测试客户端是否成功将信息发送到服务端。
用法:nc -l 端口号(如果是UDP,则是nc -lu 端口号)
例子: nc - l 8000,然后用浏览器发起请求。下图中可以看到netcat打印出来的浏览器发送的请求。
3、网络调试——作为客户端,连接特定端口号,并发送应用层协议相关的信息,检测应用层协议是否正常。(与1类似,但是1仅仅测试端口连通性,此处主要侧重上层应用协议)
用法:nc 主机的ip或域名 端口号
4、网络调试——文件传输。这条实际上前面两个条的结合运用。
接收端:
nc -l 端口号 > 文件名
发送端:
nc 主机的ip或域名 端口号 < 文件名
例子:
接收端:
nc -l 1234 > received
发送端:
nc 127.0.0.1 1234 < 1
5、端口扫描——这个功能实际上是1的扩展,只不过从指定的一个端口变成了一个范围的端口。
用法:nc -zv 主机的ip或域名 端口号下限-端口号上限
注意:虽然可以nc进行端口扫描。但是它的扫描速度比较慢,建议用nmap命令进行更专业的端口扫描,速度更快。