nc 是 Linux下强大的网络命令行工具,主要用于 TCP、UDP、UNIX域套接字 相关的操作 它被设计成可以由其他程序灵活驱动可靠的后台工具,拥有 "瑞士军刀" 的美称,每个系统管理员都应该掌握它
安装
以下是 nc工具的安装,完成后执行 nc --version 命令, 如果返回nc的版本信息表示安装成功
yum install nc[root@ecs-centos-7 ~]# nc --versionNcat: Version 7.50 ( https://nmap.org/ncat )
扫描端口 有时需要测试服务器的端口连通性,下面是测试服务器(IP:10.3.3.3 22) 22 端口是否开启的例子
[root@ecs-centos-7 ~]# nc -z -v -w 3 10.3.3.3 22Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 10.3.3.3 22:22.Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds.[root@ecs-centos-7 ~]# nc -z -v -w 3 10.3.3.3 22 6000Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connection refused.
-z 选项是报告连接状态(只连接不发送数据)
-v 选项是输出命令结果信息
-w 是设置超时时间,默认是秒,如果要设置毫秒的话,可以在数字后面加上 ms, 比如:上面的 -w 3 是3秒超时,-w 300ms 表示超时时间是300毫秒
从上面的结果可以看出,目标服务器上 22 端口是开启的,6000 端口是关闭的
例子中扫描的是 TCP 协议的端口,如果要扫描 UDP 协议的端口,需要加上 -u 选项,如果换成 UDP端口的话,上面的命令就会变成
nc -uz