IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Excel转换txt & 批量筛选IP & 批量扫描服务器信息

    bear发表于 2017-05-31 08:54:45
    love 0

    假设,有一个智障同事,发了一个Excel过来(里面含有多张表格),要求扫描里面所有的IP是否有网卡故障,比如下面这样的
    Excel转换txt

    先不说IP数量多少的问题,里面有多张表格,并且有多个列,每一列都有不少IP,IP呢,还有分为172开头的(物理机),和10开头的(Docker),看起来好像复杂死了。

    这里说一下我的处理方式。

    找一个Excel转换成JSON/TXT的工具(比如这个Excel To Formula View),转换以后的效果如下
    Excel To Formula View

    把转换的结果(zhukun.net)放到服务器上;

    $ sed -i "s/'//" zhukun.net      #把单引号先去除了
    

    接着把IP筛选出来,注意这里有一个坑

    $ cat zhukun.net | cut -d'=' -f2 | grep ^"10." | wc -l  #把10.开头的IP筛选出来,如果有一行是102或者101,那么也会被筛选出来
    6863
    $ cat zhukun.net | cut -d'=' -f2 | grep ^"10\." | wc -l #把10.开头的IP筛选出来,强制把小数点转义
    6860
    
    $ cat zhukun.net | cut -d'=' -f2 | grep ^"10\." > 10    #把10开头的IP(Docker)筛选出来
    $ cat zhukun.net | cut -d'=' -f2 | grep ^"172\." > 172  #把172开头的IP(物理机)筛选出来
    

    然后使用批量扫描工具,进行扫描(本文的批量工具来自这里)

    $ a='ifconfig `ip -o -4 route show to default | cut -d" " -f5` | grep errors'
    $ ./batch_op.py -f 10 "$a" > 10.result
    $ ./batch_op.py -f 172 "$a" > 172.result
    

    这里解释一下意思
    $ ip -o -4 route show to default | cut -d” ” -f5这条命令用于获取网卡的name,例如eth0;
    然后使用ifconfig eth0 | grep errors获得网卡的错误信息。

    找出网卡有error的机器IP

    $ cat 172.result | grep -v errors:0
    172.28.147.109|stdout|          RX packets:278742828327 errors:6 dropped:10212 overruns:0 frame:6
    172.20.107.89|stdout|          RX packets:313484511721 errors:15846991 dropped:182934 overruns:0 frame:15846991
    172.20.107.81|stdout|          RX packets:284364948207 errors:8568 dropped:75902 overruns:0 frame:8568
    172.20.113.88|stdout|          RX packets:183294536057 errors:2125992 dropped:0 overruns:0 frame:2125992
    172.28.147.109|stdout|          RX packets:278742838411 errors:6 dropped:10212 overruns:0 frame:6
    172.20.107.58|stdout|          RX packets:110837908310 errors:3903 dropped:544 overruns:0 frame:3903
    172.20.114.189|stdout|          RX packets:67440477666 errors:2048592 dropped:0 overruns:0 frame:2048592
    


沪ICP备19023445号-2号
友情链接