nc命令
-
检测端口是否开放
nc -zv IP 端口-端口 # 比如检测192.168.3.34的22到100端口 nc -zv 192.168.3.34 22-100 # 也可以指检测一个端口,比如192.168.3.34的22端口 nc -zv 192.168.3.34 22
-
nc是netcat工具的命令,是一个很好用的网络工具。比如,可以用来端口扫描,文件传输等网络功能。
usage: nc [-46AacCDdEFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval] [-p source_port] [--apple-delegate-pid pid] [--apple-delegate-uuid uuid] [-s source_ip_address] [-w timeout] [-X proxy_version] [-x proxy_address[:port]] [hostname] [port[s]]
- -g<网关> 设置路由器跃程通信网关,最多可设置8个。
- -G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
- -h 在线帮助。
- -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
- -l 使用监听模式,管控传入的资料。
- -n 直接使用IP地址,而不通过域名服务器。
- -o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
- -p<通信端口> 设置本地主机使用的通信端口。
- -r 乱数指定本地与远端主机的通信端口。
- -s<来源位址> 设置本地主机送出数据包的IP地址。
- -u 使用UDP传输协议。
- -v 显示指令执行过程。
- -w<超时秒数> 设置等待连线的时间。
- -z 使用0输入/输出模式,只在扫描通信端口时使用。
- 端口扫描
我们经常需要扫描端口是否开放,来判断访问策略是否生效,或者服务是否正常。
nc -z -w -v -n -t 192.168.1.100 1-2000
- -z 表示连接立即关闭,不进行数据交换。
- -v 表示输出检测结果,-vv表示更详细的信息
- -w 表示执行超时时间,如果不指定就是tcp超时的时间
- -n 表示不反向解析IP地址的域名
- -t 表示TCP检测,默认就是TCP检测;如果需要检测UDP,需要制定-u的参数