ping|telnet批量网络疏通测试

bash 复制代码
#!/bin/bash
cur_data=`date +%Y-%m-%d`
log_file="/tmp/$(hostname)_telnet_ $cur_data.log"
add_ping=(10.116.20.11 10.116.20.12)
add_telnet=(10.116.20.13 10.116.20.14)
port_telnet="22"
echo -n "" >$log_file

for i in "${add_ping[@]}"
do
    echo -e "Pinging $i"
    ping -c 3 $i >/dev/null 2>&1
    if [ $? -eq 0 ];then
    echo "server $i SUCCESS" >>log_file
    else
    echo "server $i FAILED" >>log_file
    fi
done

for i in "${add_telnet[@]}"
do
    echo -e "Test connect $i $port_telnet"
    test=`echo quit |timeout --signal=9 3 telnet $i $prot_telnet 2>/dev/null |grep "\^]" |wc -l`
    if [ $test -eq 0 ];then
    echo "server $i $prot_telnet FAILED" >>log_file
    else
    echo "server $i $prot_telnet SUCCESS" >>log_file
    fi
done
  • echo quit:向telnet命令发送"quit"字符串,表示退出telnet连接。
  • timeout --signal=9 3 telnet 192.168.197.10 11522:使用timeout命令来设置telnet命令在3秒内超时。如果telnet命令在3秒内没有完成连接,则会被强制终止(使用信号9 - SIGKILL)。telnet命令尝试连接到IP地址为192.168.197.10的主机的11522端口。
  • 2>/dev/null:重定向标准错误输出到/dev/null,即忽略错误信息。
  • grep "\^]":使用grep命令筛选出包含"]"的行。"]"是telnet交互时输入的字符,表示telnet的控制字符。
  • wc -l:统计匹配行的数量。
相关推荐
网易独家音乐人Mike Zhou33 分钟前
【Linux应用】Linux系统日志上报服务,以及thttpd的配置、发送函数
linux·运维·服务器·mcu·物联网·嵌入式·iot
Eric.Lee202140 分钟前
ubuntu 系统 多条命令通过 bash 脚本执行
linux·ubuntu·bash
程序员打怪兽1 小时前
线程间数据传递机制详解(共享全局内存 + 互斥锁同步)
linux·嵌入式
待什么青丝1 小时前
【linux】驱动学习问题及解决方法
linux·数据库·学习
bingbingyihao2 小时前
服务自动添加实例工具
linux·运维·bash
让学习成为一种生活方式2 小时前
linux开机原理以及如何开关机-linux023
linux
南棱笑笑生2 小时前
20250614让NanoPi NEO core开发板在Ubuntu core16.04系统下使用耳机播音测试
linux·运维·ubuntu
陶然同学3 小时前
从零开始:VMware上的Linux与Java开发环境配置
linux·运维·服务器·vmware·虚拟机
阿拉丁的梦3 小时前
ue5的blender4.1groom毛发插件v012安装和使用方法(排除了冲突错误)
linux·运维·服务器
riverz12273 小时前
ARM 和 x86_64是什么关系
linux