您的位置首页百科问答

Linux系统下nc命令的常见用法

Linux系统下nc命令的常见用法

的有关信息介绍如下:

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命令进行更专业的端口扫描,速度更快。