nc: invalid option -- ‘z‘ 解决办法
现象
RHEL 7.2 系统出现下面的错误
nc -z -v -w1 host port nc: invalid option -- 'z' Ncat: Try `--help' or man(1) ncat for more information, usage options and help. QUITTING.
原因
RHEL 7之后nc 命令不再支持-z 参数
解决办法
执行下列命令:
cat /dev/null | nc <hostname> <port>
或者
nc <hostname> <port> </dev/null
可以代替-z参数的作用, 需要注意的是命令执行后不会有任何输出内容,如果继续拼接命令的话会导致得到的结果始终为空
nc命令批量测试端口脚本
#!/bin/bash > nc.log sed -i 's#https://##g' nc.conf sed -i 's#http://##g' nc.conf sed -i 's#[/]*##g' nc.conf split -l 100 nc.conf spilitnc.conf for j in `ls spilitnc.conf*` do for i in `cat "${j}"` do ip=`echo $i |awk -F':' '{print $1}'` port=`echo $i |awk -F':' '{print $2}'` cat /dev/null| nc -v -w 3 -t $ip $port if [ $? -eq 0 ];then echo "$ip:$port connect success" >>nc.log else echo "$ip:$port connect failed" >>nc.log fi done done rm -f spilitnc.conf*
-v 显示指令执行过程
-w <超时秒数> 设置等待连线的时间
-u/-t 表示使用UDP/TCP协议
-z 使用0输入/输出模式,只在扫描通信端口时使用
使用方法:
将 脚本复制为nc.sh 然后将要测试的域名和端口例如https://127.0.0.1:8080/复制到 nc.conf文件中,脚本会自动去掉https://这类符号只保留域名ip和端口, chmod +x ./nc赋权后执行脚本./nc.sh. 所有测试结果会记录在nc.log文件中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通