Shell脚本应用实战

2023-12-22 17:16:08

实验环境

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

需求描述

? ? >?编写一个名为getarp.sh的小脚本,记录局域网中各主机的MAC地址。

? ? ? ? *? 保存到/etc/ether 文件中,若此文件已存在,应先转移进行备份。

? ? ? ? *? 每行一条记录,第1列为P地址,第2列为对应的MAC地址。

[root@node01 ~]# vim getarp.sh
#!/bin/bash
#定义网段地址、MAC列表文件
NADD="192.168.184."
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@node01 ~]# chmod +x getarp.sh 
[root@node01 ~]# ./getarp.sh 

? ?

> 编写一个名为scanhost.sh的扫描脚本,检查有哪些主机开启了匿名FTP服务,扫描对象为 /etc/ether 文件中的所有P地址,扫描的端口为21。

[root@node01 ~]# 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@node01 ~]# chmod +x scanhost.sh 
[root@node01 ~]# ./scanhost.sh 

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