Shell编程实战指南:扫描MAC记录、系统监控和FTP服务安装

需积分: 0 0 下载量 100 浏览量 更新于2024-08-04 收藏 11KB MD 举报
"Shell编程实战" 本章节主要讲述了Shell编程实战的相关知识点,包括脚本编程步骤、MAC记录与端口扫描脚本、系统监控脚本等。 **脚本编程步骤** 在编写Shell脚本时,需要遵守一定的步骤,以确保脚本的正确性和可读性。这些步骤包括: 1. 需求分析:根据系统管理的需求,分析脚本要实现的功能、功能实现的层次、实现的命令与语句等。 2. 命令测试:将要用到的命令逐个测试,以决定使用的选项、要设置的变量等。 3. 脚本编程:将测试好的命令写入到脚本文件中,并通过各种语句将命令执行的结果保存、判断或者发出报警等。 4. 测试调优:对脚本进行测试,并根据结果进行优化,建议一边编程一边调试以减少错误的发生。 **MAC记录与端口扫描脚本** 本节讲述了如何编写MAC记录与端口扫描脚本。该脚本的需求描述如下: * 编写名为system.sh的脚本,记录局域网中各主机的MAC地址,保存到/etc/ethers文件中;若此文件已存在,应先转移进行备份;每行一条记录,第1列为IP地址,第2列为对应的MAC地址。 * 检查有哪些主机开启了匿名FTP服务,扫描对象为/etc/ethers文件中的所有IP地址,扫描的端口为212。 实现步骤如下所示: ```bash visystem.sh #!/bin/bash #1.定义网段地址、MAC列表文件 NADD="192.168.245." FILE="/etc/ethers" #2.发送ARP请求,并记录反馈结果 [-f $FILE] && /bin/cp -f $FILE $FILE.old HADD=1 while [ $HADD -lt 254 ] do arping -c 2 -w 1 ${NADD}${HADD} &> /dev/null if [ $? -eq 0 ]; then arp -n | grep ${NADD}${HADD} | awk '{print $1, $3}' >> $FILE fi let HADD++ done 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 chmod +x system.sh ./system.sh cat /etc/ethers ``` **系统监控脚本** 本节讲述了如何编写系统监控脚本。该脚本的需求描述如下: * 编写名为sysmon.sh的Shell监控脚本。 * 监控内容包括CPU使用率、内存使用率等。 在编写系统监控脚本时,需要考虑到监控的内容、监控的频率、报警的机制等因素,以确保系统的稳定运行。 本章节主要讲述了Shell编程实战的相关知识点,包括脚本编程步骤、MAC记录与端口扫描脚本、系统监控脚本等。这些知识点将帮助读者更好地理解Shell编程的实践应用。