windows系统-bat脚本
- echo off:表示关闭其他所有命令的回显;
- @:关闭紧跟其后的一条命令的回显;
- set /p:在屏幕中输出信息(不换行),并接受用户输入的内容,赋值给变量ip;
- for /L: for循环以增量形式从开始到结束;
- %name%:用%将要调用的变量包起来就可以调用此变量;
- %%name:表示name为for里面的循环变量;
- 注释用rem或::
- ping命令使用的帮助信息:
-n:count要发送的回显请求数
-l:发送缓冲区大小。
-w:每次等待回复的超时时间(毫秒)
@echo off
set /p ip="请输入IP地址段,格式如:"192.168.1.">>>"
for /L %%i in (10,1,20) do ( ::注释IP最后一位10-20
Ping. exe -n 1 -i 16 -w 100 %ip%%%i | findstr TTL= >nul && echo %iр%%%i is up. || echo off rem注释如果TTL不为空,显示IPis up,否则不显示。
)
echo 检测ping完成! & pause
Linux系统-sh脚本
- /bin/bash:利用/bin/bash执shell行脚本;
- read:用于读取用户输入的字符;f
- or:for循环以增量形式从开始到结束;
- $name:表示定义的变量;
- shell脚本,linux下的echo处理
stty -echo :关闭回显
stty echo :开启回显 - ping命令使用的帮助信息:
-c: count要发送的回显请求数;
W:每次等待回复的超时时间(毫秒);
#!/bin/bash
$ip
read -p "please inpur ip :" ip
for((i=10;i<=20;i++)); do
ping -c 1 -W 0.1 $ip$i > /dev/null && echo "$ip$i is up." || stty -echo
done
echo "ping is finished"
拓展:windows的TTL一般为128;linux为64或255,unix为255。