第八章: 实验案例:Shell 脚本应用实战

发布时间:2023年12月22日

?实验案例:Shell 脚本应用实战

实验环境

随着业务的不断发展.某公司所使用的Lirux服务器也越来越多。在系统管理和维护过程中.经常需要编写些实用的小脚本,以辅助运维工作,提高工作效率。

需求描述

1,编写一个名为getarp . sh的小脚本,记录局域网中各主机的MAC地址。保存到/etc/ether 文件中,若此文件已存在,应先转移进行备份。每行一条记录,第1列为P地址.第⒉列为对应的MAC地址。,

2,编写一个名为scarhost ,sh 的扫描脚本,检查有哪些主机开启了匿名FTP服务,扫描对象为

/etc/ether 文件中的所有P地址,扫描的端口为21.

推荐步骤

? ? ? ??编写getarp , sh 脚本文件.

? ? ? ? 编写scanhost , sh 脚本。

[root@Linux01 aaa]# vim getarp.sh 


#!/bin/bash
#定义网段地址,MAC列表文件
NADD="192.168.186."
FILE="/etc/ethers"
#发送ARP请求,并记录反馈结果
#备份原有文件
[ -f $FILE ] && /bin/cp -f $FILE $FILE.old
#定义起始扫描地址
HADD=1
while [ $HADD -lt 128 ]
do
   arping -I ens33 -c 2 ${NADD}${HADD} &> /dev/null
   if [ $? -eq 0 ] ; then
   arp -n | grep ${NADD}${HADD} | awk '{print $1,$3}' >> $FILE
   fi
   let HADD++
done

?执行

[root@Linux01 aaa]# chmod +x getarp.sh  //给他一个执行权限

[root@Linux01 aaa]# ./getarp.sh    //执行

执行结果

编写一个名为scarhost ,sh 的扫描脚本,检查有哪些主机开启了匿名FTP服务,扫描对象为

/etc/ether 文件中的所有P地址,扫描的端口为21.

[root@Linux01 aaa]# vim scanhost.sh 




#!/bin/bash
TARGET=$(awk '{print $1}' /etc/ethers)
echo "以下主机以开放匿名FTP服务"
for IP in $TARGET
     do
     wget ftp://$IP/ &> /dev/null
        if [ $? -eq 0 ] ; then
        echo $IP
#删除测试生产的临时文件
       rm -rf index.html
       fi
done


执行权限

[root@Linux01 aaa]# chmod +x scanhost.sh   //给他一个执行权限

[root@Linux01 aaa]# ./scanhost.sh    //执行

?

执行结果

文章来源:https://blog.csdn.net/GUOJUNWEI11/article/details/135155699
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。