linux - 使用 netcat 命令无法正确检查打开的端口
问题描述
我创建了一个 shell 脚本来检查多个服务器上的开放端口。我也使用了 netcat 命令。但是在执行后,即使端口在特定服务器上打开,也会显示错误的输出。例子。我试过 8880,84443 端口,在服务器上的端口是打开的,但我的脚本显示错误的输出。我的代码:对于服务器在more input.txt
do nc -zvw3 $server $port >> output.txt 2>&1 done
解决方案
!/bin/sh echo "" echo "" rm -rf output.txt rm -rf final.txt
echo "$(tput setaf 5)*** 端口检查脚本 *****" echo "" echo ""
echo "$(tput setaf 2)输入要检查的端口号:$(tput setaf 7)" 读取端口
回声“”回声“”
echo "$(tput setaf 2)脚本正在运行...等待一段时间..." echo ""
睡觉 2
对于服务器在more input.txt
do nc -zvw3 $server $port >> output.txt 2>&1 done
grep -i 连接的 output.txt >> final.txt
echo "$(tput setaf 2)You have Entered Port : "$port echo "" echo "$(tput setaf 2)On belowServers Entered Port is Open "
睡觉 1
echo "$(tput setaf 3)" echo "" cat final.txt echo "" echo "$(tput setaf 5)*** 谢谢...! *****" #sed 's/connected to/ /g' output.txt >> final.txt echo "$(tput setaf 7)"
以上是完整的代码。请协助。对于端口 8880 ,即使这些端口在服务器上打开,8443 脚本也会显示错误的输出。
推荐阅读
- python - 在 CSV 文件中组合来自类似字符串的值
- python - 在对数图的 y 轴上绘制主要刻度
- c++ - fstream 比 fopen 快?并随着缓冲区的增加而变得更快?
- javascript - 如何确定函数内部函数的执行顺序?
- windows - Process Explorer 报告的不合理的巨大进程虚拟内存大小
- android - 在活动打开时每 1 秒循环一个线程是不好的做法吗?
- google-apps-script - 如果单元格为空白,则将单元格值还原为特定公式
- java - 为什么@Transactional 在某些情况下会忽略 Lazy fetch
- c# - 获得最小输出然后跟踪输入
- r - 如何将条形更改为降序?