开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1552|回复: 0
收起左侧

[分享] 论坛里有个老铁要的验证ip段内延迟较小的ip

[复制链接]
结帖率:100% (1/1)
发表于 2020-8-1 20:48:25 | 显示全部楼层 |阅读模式   河南省郑州市
今天闲着想着整一下hk认证的,接了论坛的老铁一个单子,比较简单就分享一下吧要求找ip段内最小延迟的ip,看ping 5次time结果,在linux系统下。
思路写个shell脚本就是用系统自带的ping 命令然后看time 的时间,根据时间做一次排序
1.获取脚本后输入的网段
2.拼凑ip从1-254执行ping 命令
3.将ping 通的ip 放入数组
4.排序数组并输出
5.显示排序后的结果
下面是shell 脚本

#!/bin/bash
ipSegment="192.168.2"
if [ "$1" == "" ];then
    echo "网段不能为空"
    exit 1
else
        ipSegment=$1
fi
result=()
ip=1
while [ $ip != "254" ]; do

        pingNum="0"
        while [ $pingNum != "5" ]; do
                rtt=`ping -c 1 $ipSegment.$ip |grep rtt |awk '{print $4}' |awk -F'/' '{print $2}'`
                rtt=${rtt:-'-1'}
                if [ $rtt != '-1' ];then
                        echo "$ipSegment.$ip =====>  time=$rtt"
                        result[${#result[*]}]="$rtt=====>$ipSegment.$ip"
                else
                        echo "$ipSegment.$ip" >/dev/null 2>&1
                fi
        pingNum=`expr "$pingNum" "+" "1"`
        done

ip=`expr "$ip" "+" "1"`
done


echo "" > result.txt
for element in ${result[@]}
do
echo $element >> result.txt
done
sort result.txt -o result.txt
echo "=========排序后的结果=============="
cat result.txt


使用方法:
1.先将上面代码拷贝放入文本命名  随便.sh
2.上传shell 到服务器
3.授权文件权限,给执行权限就行,这里都给了  chmod 777 随便.sh
4.运行  ./随便.sh 192.168.2


就到这吧,这里就分享了

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表