shell脚本批量执行ping和telnet测试网络方式

 更新时间:2024年12月11日 14:18:22   作者:kevin_mails  
文章介绍了如何通过创建shell脚本来简化本地网络测试任务,包括ping和telnet测试,文章详细描述了脚本的创建、编辑、赋予执行权限以及执行的步骤,并提供了具体的脚本示例

shell脚本批量执行ping和telnet测试网络

当我们在本地经常需要执行一组ping网络测试时,就可以通过shell脚本帮我们完成

先创建脚本文件

例:

touch net_ping.sh

通过vi 打开文件

vi net_ping.sh

在文件中添加代码

######################
# Autor: kevin
# 网络连通性测试
#
######################
#!/bin/sh

RED_COLOR='\033[31;47m'
RED_GREEN='\033[32;47m'
RES='\033[0m'

ping_list=(
    baidu.com
    bing.com
    google.com
    qq.com
)

#执行单个连接的网络测试
#注意,shell函数不用声明,一定要定义在调用函数代码的上方,不然会报 command not found
ping_conn(){
    echo "开始ping $1"

    # ping -c 是执行次数,-W 是尝试连接等待的时间
    ping -c 3 -W 5 $1
    if [ $? -eq 0 ]; then
        echo "${RED_GREEN} INFO ${RES} ping $1 success!"
    else 
        echo "${RED_COLOR} ERROR ${RES} ping $1 fail!"
    fi  

}


for ip in ${ping_list[@]}; do
    # echo $ip
    ping_conn $ip
done

保存退出后,给一下可执行权限

chmod u+x net_ping.sh

然后就可以执行啦!

测试结果

如下:

赶快动手试试吧!

再补充一个进行telnet测试的脚本

######################
# Autor: kevin
# 网络连通性测试,telnet测试
#
######################
#!/bin/sh

RED_COLOR='\033[31;47m'
RED_GREEN='\033[32;47m'
RES='\033[0m'

telnet_list=(
    "baidu.com 80" 
    "qq.com 801"
)

#执行单个连接的网络测试
#注意,shell函数不用声明,一定要定义在调用函数代码的上方,不然会报 command not found
telnet_conn(){
    echo "start telnet test $1"
   
    if [ ["$OSTYPE"=~"darwin"] ]; then
        time_out=-G
    elif [ ["$OSTYPE"=~"Linux"] ]; then
        time_out=-w
    else 
        echo "Other os"
    fi

    # nc -G 是mac os 下的超时,linux 下是 -w
    nc -zv $time_out 2 $1 

    if [ $? -eq 0 ]; then
        echo "${RED_GREEN} INFO ${RES} telnet $1 success!"
    else 
        echo "${RED_COLOR} ERROR ${RES} telnet $1 fail!"
    fi  

}


for ip in "${telnet_list[@]}"; do
    #echo $ip
    telnet_conn "$ip"
done

同ping脚本一下,也可以创建一个文件,把脚本复制过去,给一下执行权限,即可执行

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux sftp命令用法

    Linux sftp命令用法

    这篇文章主要介绍了Linux sftp命令用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-12-12
  • Linux命令行上如何使用日历详解

    Linux命令行上如何使用日历详解

    这篇文章主要给大家介绍了Linux命令行上如何使用日历的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用linux具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • Linux下简易进度条的实现代码

    Linux下简易进度条的实现代码

    下面小编就为大家带来一篇Linux下简易进度条的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • apache和IIS共享80端口解决办法

    apache和IIS共享80端口解决办法

    这篇文章主要介绍了使用apache代理功能和IIS共享80端口解决办法,需要的朋友可以参考下
    2014-03-03
  • Linux 常用命令挂载命令详解

    Linux 常用命令挂载命令详解

    这篇文章主要介绍了Linux 常用命令挂载命令详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • Linux系统(CentOS7安装)安装JDK8的教程详解

    Linux系统(CentOS7安装)安装JDK8的教程详解

    这篇文章主要介绍了Linux系统(CentOS7安装)安装JDK8的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • linux服务器基本安全配置手册

    linux服务器基本安全配置手册

    我们在搭建Linux服务器的时候有很多事情需要注意,其中一个安全的配置表是一个服务器的搭建者和维护者最需要掌握的东西。在本文中你会看到一份完整的Linux服务器安全搭建手册
    2012-03-03
  • 利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法

    利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法

    下面小编就为大家带来一篇利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Ubuntu系统查看进程被kill的命令和方法

    Ubuntu系统查看进程被kill的命令和方法

    这篇文章主要介绍了Ubuntu查看进程被kill的几种方式,在Ubuntu系统中,要查看进程被杀掉的记录,可以使用文中命令和方法,文章通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • 配置fail2ban对Apache服务器进行安全防护的方法

    配置fail2ban对Apache服务器进行安全防护的方法

    这篇文章主要介绍了配置fail2ban对Apache服务器进行安全防护的方法,主要是起到过滤IP地址的效果,示例基于Linux系统,需要的朋友可以参考下
    2015-06-06

最新评论