请帮忙使用shell写一个ping检查脚本,手动从1 ping到254 太耗时间. 希望有脚本来代替这个过程.
发布网友
发布时间:2022-04-29 16:57
我来回答
共2个回答
热心网友
时间:2023-10-21 02:38
我用 VBS 给你写了一个:
set obj = wscript.createObject("WScript.Shell")
for count = 1 to 254
obj.Run "ping 192.168.1." & count, , true
next
自己新建一个 vbs 文件,把上面代码拷贝进去,然后双击运行;
上面代码自动从 192.168.1.1 开始 ping;
一直 ping 到 192.168.1.254;
如果想自定义 ping 的字段,可以自行修改里面的字符串的 ip 地址;
或者直接用我上传给你的写好的 vbs 文件;
追问不能用shell写吗, 这个语言没学过,表示看不懂啊
热心网友
时间:2023-10-21 02:39
#!/bin/bash
while :
do
#包大小
PACKETSIZE=32
#发包数
PACKETTIMES=10
#间隔时间
INTERVAL=1
#ip列表文件位置
IPFILE=/tmp/1
#多长时间测试一次(秒)
SLEEPTIME=60
#临时文件
TMP=/tmp/pingtmp
#输出的ping.txt文件路径
OUTPUT=/tmp/ping.txt
#本机IP(这都不知道自己切JJ)
HOSTIP=1.1.1.1
while read line
do
> ${TMP}
ping -c ${PACKETTIMES} -i ${INTERVAL} -s ${PACKETSIZE} $line >> ${TMP}
DELAY=`grep rtt ${TMP} | awk '{print$4}' |awk -F "/" '{print$1"/"$2"/"$3}'`
LOST=`grep loss ${TMP} |awk -F "%" '{print$1"%"}'|awk '{print $NF}' `
DATE=`date +"%Y-%m-%d %H:%M:%S"`
if [ -z "${DELAY}" ]
then
DELAY=none
fi
echo "################################################" >> ${OUTPUT}
echo "${DATE} ${HOSTIP} > ${line} the min/avg/max is ${DELAY} and packets lost ${LOST}" >> ${OUTPUT}/ping.txt
rm -rf ${TMP}
done<${IPFILE}
sleep ${SLEEPTIME}
done
热心网友
时间:2023-10-21 02:38
我用 VBS 给你写了一个:
set obj = wscript.createObject("WScript.Shell")
for count = 1 to 254
obj.Run "ping 192.168.1." & count, , true
next
自己新建一个 vbs 文件,把上面代码拷贝进去,然后双击运行;
上面代码自动从 192.168.1.1 开始 ping;
一直 ping 到 192.168.1.254;
如果想自定义 ping 的字段,可以自行修改里面的字符串的 ip 地址;
或者直接用我上传给你的写好的 vbs 文件;
追问不能用shell写吗, 这个语言没学过,表示看不懂啊
热心网友
时间:2023-10-21 02:39
#!/bin/bash
while :
do
#包大小
PACKETSIZE=32
#发包数
PACKETTIMES=10
#间隔时间
INTERVAL=1
#ip列表文件位置
IPFILE=/tmp/1
#多长时间测试一次(秒)
SLEEPTIME=60
#临时文件
TMP=/tmp/pingtmp
#输出的ping.txt文件路径
OUTPUT=/tmp/ping.txt
#本机IP(这都不知道自己切JJ)
HOSTIP=1.1.1.1
while read line
do
> ${TMP}
ping -c ${PACKETTIMES} -i ${INTERVAL} -s ${PACKETSIZE} $line >> ${TMP}
DELAY=`grep rtt ${TMP} | awk '{print$4}' |awk -F "/" '{print$1"/"$2"/"$3}'`
LOST=`grep loss ${TMP} |awk -F "%" '{print$1"%"}'|awk '{print $NF}' `
DATE=`date +"%Y-%m-%d %H:%M:%S"`
if [ -z "${DELAY}" ]
then
DELAY=none
fi
echo "################################################" >> ${OUTPUT}
echo "${DATE} ${HOSTIP} > ${line} the min/avg/max is ${DELAY} and packets lost ${LOST}" >> ${OUTPUT}/ping.txt
rm -rf ${TMP}
done<${IPFILE}
sleep ${SLEEPTIME}
done
热心网友
时间:2023-10-21 02:38
我用 VBS 给你写了一个:
set obj = wscript.createObject("WScript.Shell")
for count = 1 to 254
obj.Run "ping 192.168.1." & count, , true
next
自己新建一个 vbs 文件,把上面代码拷贝进去,然后双击运行;
上面代码自动从 192.168.1.1 开始 ping;
一直 ping 到 192.168.1.254;
如果想自定义 ping 的字段,可以自行修改里面的字符串的 ip 地址;
或者直接用我上传给你的写好的 vbs 文件;
追问不能用shell写吗, 这个语言没学过,表示看不懂啊
热心网友
时间:2023-10-21 02:39
#!/bin/bash
while :
do
#包大小
PACKETSIZE=32
#发包数
PACKETTIMES=10
#间隔时间
INTERVAL=1
#ip列表文件位置
IPFILE=/tmp/1
#多长时间测试一次(秒)
SLEEPTIME=60
#临时文件
TMP=/tmp/pingtmp
#输出的ping.txt文件路径
OUTPUT=/tmp/ping.txt
#本机IP(这都不知道自己切JJ)
HOSTIP=1.1.1.1
while read line
do
> ${TMP}
ping -c ${PACKETTIMES} -i ${INTERVAL} -s ${PACKETSIZE} $line >> ${TMP}
DELAY=`grep rtt ${TMP} | awk '{print$4}' |awk -F "/" '{print$1"/"$2"/"$3}'`
LOST=`grep loss ${TMP} |awk -F "%" '{print$1"%"}'|awk '{print $NF}' `
DATE=`date +"%Y-%m-%d %H:%M:%S"`
if [ -z "${DELAY}" ]
then
DELAY=none
fi
echo "################################################" >> ${OUTPUT}
echo "${DATE} ${HOSTIP} > ${line} the min/avg/max is ${DELAY} and packets lost ${LOST}" >> ${OUTPUT}/ping.txt
rm -rf ${TMP}
done<${IPFILE}
sleep ${SLEEPTIME}
done
热心网友
时间:2023-10-21 02:38
我用 VBS 给你写了一个:
set obj = wscript.createObject("WScript.Shell")
for count = 1 to 254
obj.Run "ping 192.168.1." & count, , true
next
自己新建一个 vbs 文件,把上面代码拷贝进去,然后双击运行;
上面代码自动从 192.168.1.1 开始 ping;
一直 ping 到 192.168.1.254;
如果想自定义 ping 的字段,可以自行修改里面的字符串的 ip 地址;
或者直接用我上传给你的写好的 vbs 文件;
追问不能用shell写吗, 这个语言没学过,表示看不懂啊
热心网友
时间:2023-10-21 02:39
#!/bin/bash
while :
do
#包大小
PACKETSIZE=32
#发包数
PACKETTIMES=10
#间隔时间
INTERVAL=1
#ip列表文件位置
IPFILE=/tmp/1
#多长时间测试一次(秒)
SLEEPTIME=60
#临时文件
TMP=/tmp/pingtmp
#输出的ping.txt文件路径
OUTPUT=/tmp/ping.txt
#本机IP(这都不知道自己切JJ)
HOSTIP=1.1.1.1
while read line
do
> ${TMP}
ping -c ${PACKETTIMES} -i ${INTERVAL} -s ${PACKETSIZE} $line >> ${TMP}
DELAY=`grep rtt ${TMP} | awk '{print$4}' |awk -F "/" '{print$1"/"$2"/"$3}'`
LOST=`grep loss ${TMP} |awk -F "%" '{print$1"%"}'|awk '{print $NF}' `
DATE=`date +"%Y-%m-%d %H:%M:%S"`
if [ -z "${DELAY}" ]
then
DELAY=none
fi
echo "################################################" >> ${OUTPUT}
echo "${DATE} ${HOSTIP} > ${line} the min/avg/max is ${DELAY} and packets lost ${LOST}" >> ${OUTPUT}/ping.txt
rm -rf ${TMP}
done<${IPFILE}
sleep ${SLEEPTIME}
done