黑帽联盟

 找回密码
 会员注册
查看: 1289|回复: 0
打印 上一主题 下一主题

[脚本语言] shell 编写脚本批量ping ip

[复制链接]

852

主题

38

听众

3174

积分

白金VIP

Rank: 8Rank: 8

  • TA的每日心情
    开心
    2024-3-7 12:52
  • 签到天数: 1538 天

    [LV.Master]伴坛终老

    服务器总是一下子买了很多的段的ip。通过绑定后,也不知道这些ip是否绑定成功,所以就写了一个shell脚本,把ip输好,批量ping一下,看是不是都能ping通。
    脚本如下:
    11.png

    此外。还有一个ip文件,里面放的都是ip 名为allip
    12.png

    我们来运行一下,看一下结果:
    13.png


    都能ping通,那么我现在在allip里面的第一行,加一个1.1.1.1 这一个我无法ping通的网址,看一下这个小程序,怎么处理,我们来看一下运行结果:
    14.png

    他显示 ping 1.1.1.1 失败。的确这个ip是ping不通。好了。效果就这些,我们来看一下他的原理
    先贴一下程序:
    #! /bin/bash
    for i in `cat allip`
    do
    ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`
    if [ $ping -eq 100  ];then
    echo ping $i fail
    else
    echo ping $i ok
    fi
    done
    程序很简单,现在来挨个解释一下

    #! /bin/bash
    for i in `cat allip`  #这个是逐个读取allip文件里的ip
    do
    ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`
    #上面一行是对读出来的ip ping一次,看是否ping通。并取出loss的百分比的值 也就是掉包的值 ,看是否掉包
    if [ $ping -eq 100  ];then #比较一下,看掉包的值是不是100,如果是100就是全部掉包,那就是没ping通,那就显示 ping ip fail,如果不等于100的话,就ping通了,就显示 Ping ip OK
    echo ping $i fail
    else
    echo ping $i ok
    fi
    done

    结束,小工具挺有用的,有时那么多的ip,一次性就ping完了。

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部