ping脚本

#!/bin/bash
#exec 1>yjk.log
exec 2>errorPing.log


#usually, there is only 1 switch, no need to type it every time
declare swIp=129.50.0.20
declare swUser=admin
declare swPasswd=wisg3.2

grepPing(){
grep min/avg/max -c|awk '{if($1 == 1) print "success";else {if($1 == 0) print "fail";else print "unexpacted result,check it manully"}}'
}

swPing(){
(sleep 1;echo $swUser;sleep 1;echo $swPasswd;echo system-view;echo interface Vlanif $1;echo ping $2;sleep 4)|telnet $swIp|grepPing
}

susePing(){
(sleep 1;echo root;sleep 1;echo $2;echo ping $3 -c 5;sleep 8)|telnet $1|grepPing
}

echo "linux103(10.137.55.103) Ping linux39(10.137.55.39), expect success"
susePing 10.137.55.103 huangqiang 10.137.55.39

echo "linux103(10.137.55.103) Ping wongIp, expect fail"
susePing 10.137.55.103 huangqiang 11.137.55.39

echo sw ping SP 55.55.55.88 with vlan 3006, expect success
swPing 3006 55.55.55.88|grep success

echo sw ping wrongSP 55.55.55.8 with vlan 3006, expect fail
swPing 3006 55.55.55.8

exit

### 关于 Ping 命令和脚本 #### Linux 中的 `ping` 命令详解 在 Linux 系统中,`ping` 是用于测试网络连接性和测量往返延迟时间的重要工具。当结束时,该命令会给出一个统计摘要,其中包括发送的数据包数量、接收到的数据包数量、丢包率以及往返时间的最小值、平均值和最大值等[^1]。 对于持续不断地向目标主机发送请求直至手动终止的情况,可以简单地运行: ```bash ping example.com ``` 这将不停地向指定的目标地址发出 ICMP Echo Request 报文并等待回应,直到用户按下 Ctrl+C 来停止操作。 #### 编写批量 Ping IP 地址范围的 Shell 脚本 为了高效地检测特定子网内的活动设备,可创建一个简单的 shell 脚本来实现对整个 C 类网段 (如 172.16.50.0/24) 的扫描功能。下面是一个基本的例子: ```bash #!/bin/bash for ip in $(seq 1 254); do ping -c 1 172.16.50.$ip | grep "bytes from" & done wait echo "Scan complete." ``` 此脚本遍历给定范围内所有的可能IP地址,并尝试与每一个地址建立联系;如果成功,则显示相应的响应信息。注意这里使用了 `-c 1` 参数限制每次只发一次探测报文以加快速度[^2]。 #### 让脚本在后台稳定运行的方法 为了避免长时间运行的任务因终端关闭或其他原因而意外中断,建议利用 nohup 工具让程序脱离当前shell环境继续工作。具体做法是在启动脚本前加上 `nohup` 和 `&` 符号使其进入后台执行模式: ```bash nohup sh long_ping.sh & ``` 这样即使断开了SSH连接或者注销登录也不会影响到正在运行中的进程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值