Shell 脚本应用(三)

一、for循环语句
1、根据姓名列表批量添加用户和删除用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
userdel -r 用户名 删除用户

2、根据IP地址列表检查主机状态
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二、while循环语句
1、批量添加用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、猜价格游戏
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三、case分支语句
1、检查用户输入的字符类型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、编写系统服务脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1、编写getarp.sh脚本文件
(1)通过arping命令发送ARP请求,根据反馈结果记录MAC地址。
(2)将网段地址(如192.168.1.)赋值给变量NADD,作为检测地址的前缀。
(3)使用while循环语句,重复检测目标并记录MAC地址,主机地址从1-254。
[root@localhost ~]# vim getarp.sh
#!/bin/bash

1. 定义网段地址、MAC列表文件

NADD=“192.168.1.”
FILE="/etc/ethers"

2. 发送ARP请求,并记录反馈结果

[ -f $FILE ] && /bin/cp -f $FILE $FILE.old
HADD=1
while [ $HADD -lt 21 ]
do
ping -c 2 -i 0.2 -W 3 N A D D {NADD} NADD{HADD} &> /dev/null
if [ $? -eq 0 ] ; then
arp -n | grep N A D D {NADD} NADD{HADD} | awk ‘{print $1,$3}’ >> $FILE
fi
let HADD++
done
[root@localhost ~]# chmod +x getarp.sh
[root@localhost ~]# ./getarp.sh
[root@localhost ~]# cat /etc/ethers
192.168.1.12 00:0C:29:C3:F8:51
192.168.1.110 00:50:56:C0:00:01
2、编写scanhost.sh脚本
(1)有很多方法可以检测一个主机是否开启匿名FTP服务,这里采取以wget下载工具访问FTP根目录的方式,若能够成功列表,则视为匿名FTP已开启,否则视为关闭。
(2)通过awk命令过滤出/etc/ethers文件中的所有IP地址,赋值给变量TARGET。
(3)使用for循环语句,读取TARGET变量中的IP地址,重复探测FTP开启情况。

[root@localhost ~]# vi scanhost.sh
#!/bin/bash
TARGET=$(awk ‘{print $1}’ /etc/ethers)
echo “以下主机已开放匿名FTP服务:”
for IP in T A R G E T d o w g e t f t p : / / TARGET do wget ftp:// TARGETdowgetftp://IP/ &> /dev/null
if [ $? -eq 0 ] ; then
echo $IP
rm -rf index.html
fi
done
[root@localhost ~]# chmod +x scanhost.sh
[root@localhost ~]# ./scanhost.sh
以下主机已开放匿名FTP服务:
192.168.1.110
192.168.1.129

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值