ping扫描c段主机shell脚本(超快)


shell脚本

Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。

代码

在这里插入图片描述

#!/bin/bash

if [ "$1" == "" ]
then
	echo "You forgot an IP address!"
	
### 回答1: # 下面是一个可以扫描在线主机shell脚本,使用for循环: for ip in 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 do ping -c 1 -W 1 $ip > /dev/null if [ $? -eq 0 ]; then echo "$ip is up" else echo "$ip is down" fi done ### 回答2: 您好! 以下是一个使用for循环扫描在线主机shell脚本示例: ```shell #!/bin/bash # 定义要扫描的IP地址范围 start_ip="192.168.0.1" end_ip="192.168.0.255" # 使用for循环遍历IP地址范围内的每个地址 for ((i = ${start_ip##*.}; i <= ${end_ip##*.}; i++)); do ip="${start_ip%.*}.${i}" # 使用ping命令检查主机是否在线 if ping -c 1 -W 1 "$ip" &> /dev/null; then echo "主机 $ip 在线" else echo "主机 $ip 不在线" fi done ``` 这个脚本首先定义了要扫描的IP地址范围,然后使用for循环遍历这个范围内的每个IP地址。在循环中,使用ping命令检查每个主机是否在线。如果ping命令返回成功,则说明主机在线,会显示"主机 [IP地址] 在线"的信息;如果ping命令失败,则说明主机不在线,会显示"主机 [IP地址] 不在线"的信息。 希望对您有所帮助! ### 回答3: 下面是一个可以用Shell脚本通过for循环扫描在线主机的例子: ```shell #!/bin/bash # 定义IP范围 start_ip="192.168.0.1" # 起始IP地址 end_ip="192.168.0.254" # 结束IP地址 # 使用for循环扫描主机 for ip in $(seq $(echo $start_ip | tr '.' ' ') $(echo $end_ip | tr '.' ' ')); do ip=$(echo $ip | tr ' ' '.') # 使用ping命令测试主机是否在线 if ping -c 1 -W 1 $ip >/dev/null; then echo "主机 $ip 在线" else echo "主机 $ip 不在线" fi done ``` 解释: 1. 首先,在脚本中定义了起始和结束IP地址,即要扫描的IP范围。 2. 使用`seq`命令将起始和结束IP地址转换为数字序列,然后使用管道将其转换为点分十进制IP地址。 3. 使用for循环遍历每个IP地址。 4. 在循环中,首先将当前IP地址恢复为点分十进制格式。 5. 然后使用`ping`命令发送一个ICMP回显请求以测试主机是否在线。 `-c 1` 参数表示只发送一次请求, `-W 1` 参数表示超时时间为1秒。 6. 如果`ping`命令返回0,即主机在线,将输出“主机 $ip 在线”。如果返回非零值,即主机不在线,将输出“主机 $ip 不在线”。 以上脚本可在Linux系统中运行,通过for循环检测指定IP范围内的主机是否在线。注意,脚本需要具有执行权限,并且在脚本所在目录下执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值