项目服务

1.MAC记录与端口扫描脚本
需求描述
1.编写名为system.sh的脚本,记录局域网中各主机的MAC地址,保存到/etc/ethers文件中;若此文件已存在,应先转移进行备份;每行一条记录,第一列位IP地址,第2列为对应的MAC地址

2.检查有哪些主机开启了匿名FTP服务,扫描对象为/etc/ethers文件中的所有IP地址,扫描的端口为21

命令类型
1.分析:记录局域网中各主机的MAC地址;检查有哪些主机开启了匿名FTP服务
2.ping -c 3 -i 0.2 -w 1 ip :发送MAC地址解析请求
3.arp -n:记录MAC
4.awk :打印ip与MAC地址
5.使用wget下载的方法测试FTP服务

[root@server1 ~]# ping -C 3 -i 0.2 -W 3 192.168.100.100 > a.txt      
[root@server1 ~]# cat a. txt      
[root@server1 ~]# arping -C 3 -I ens33 -W 3 192.168.100.100 >a.txt      
[root@server1 ~]# cat a. txt      
[root@server1 ~]# arping -C 1 -I ens33 -W 3 192.168.100.100 >a.txt      
[root@server1 ~]# cat a. txt      
[root@server1 ~]# awk '{print $4,$5}' a.txt > b.txt      
[root@server1 ~]# cat b. txt      
[root@server1 ~]# yum -y install vsftpd      
[root@serverl ~]# systemctl start vsftpd      
[root@server1 ~]# netstat -anpt| grep 21                    //两个主机安装ftp,查看21端口状态      
[root@server2 ~]# yum -y install vsftpd      
[root@server2 ~]# systemctl start vsftpd      
[root@server2 ~]# netstat -napt| grep 21      
[root@server2 ~]# nmap -p 21 192.168.100.110            //查看对应主机21端口是否开启      
[root@server2 ~]# nmap -p 21 192.168.100.110 & /dev/null      
[root@server2 ~]# wget ftp://192.168.100.110                 //匿名下载,下载文件名为index.html      
[root@client1 ~]# vi system. sh      
[root@client1 ~]# chmod +x system.sh      
[root@client1 ~]#  ./system. sh      
[root@client1 ~]# sort -u /etc/ethers      
#!/bin/bash      #记录在线用户并测试其是否开放21号端口      
net="192.168.100."      
file=/etc/ethers      
[-f /etc/ethers] && cp -f $file $file. bak      
add=1      
while [ $add -le 20 ]      
do           
   ping -C 3 -i 0.2 -W 1 ${net}${add} &> /dev/null           
   if [ $? -eq 0 ]           
   then arp -n | grep ${net}${add} | awk ' {print $1,$3}' >> $file           
   fi           
   let add++      
done

进行ftp在线测试

  #! /bin/bash      
# 记录在线用户并测试其是否开放21号端口      
net="192.168.100. "      
file=/etc/ethers          
   [ -f /etc/ethers ] && cp -f $file $file . bak      
add=1      
while [ $add -le 20 ]      
do          
  ping -C 3 -i 0.2 -W 1 ${net}${add} &> /dev/null           
  if [ $? -eq 0 ]           
  then arp -n| grep ${net}${add} | awk '{print $1,$3}' >> $file           
  fi           
  let add++       
  done       
  sort -u $file >> /root/filel. txt       
  target=$(awk '{print $1}' /root/ filel. txt)        
  for ip in $target        
  do              
     wget ftp://$ip &> /dev/null              // 匿名下载              
     if [ $? -eq 0 ]                                   // 如果下载成功              
     then echo "$ip 主机ftp开启”              
     rm -rf index . html                           // 删除下载的文件,因为每次测试都会被下载              
     fi          
done

2.开发系统监控脚本
需求描述
1.编写名为sysmon.sh的Shell监控脚本
2.监控内容包括CPU使用率,内存使用率,根分区的磁盘占有率
3.百分比只需精确到个位,如7%,12%,23%等
4.出现以下任意情况时告警:磁盘占有率超过90%,CPU使用率超过80%,内存使用率超过90%,告警邮件通过mail命令发送到指定邮箱
命令类型
1.分析:监控内容包括CPU使用率,内容使用率,根分区的磁盘占有率
2.df命令
3.awk命令
4.mpstat命令(需安装sysstat软件包)
5.free命令
1.磁盘占有率

[root@client1 ~]# df -Th| grep ' /$'      
[root@client1 ~]# df -Th | grep '/$'| awk '{print $6}      
[root@client1 ~]# df -Th| grep '/$'| awk '{print $6}' | awk -F% '{print $1} '      
[root@client1 ~]# disk=$(df -Th | grep '/$ ' | awk ' {print $6}'| awk -F% ' {print $1}')

2.CPU使用率

[rootaclient1 ~]# mpstat      
[root@client1 ~]# mpstat| tail -1| awk '{print $12}'      
[root@client1 ~]# mpstat| tail -1| awk '{print $12}'| awk -F. '{print $1}      
[root@client1 ~]# expr 100 - $ (mpstat| tail -1| awk -F. '{print $1}')      
[root@client1 ~]# CPU=$(expr 100  - $ (mpstat| tail -1| awk ' {print $12}' | awk -F. '{print $1}'))

3.内存使用率

[root@client1 ~]# free -m
[root@client1 ~]# free -m | grep "Mem:" | awk '{print $7}'
[root@client1 ~]# free -m | grep "Mem:" | awk '{print $2}'
[root@client1 ~]# expr $(free -m | grep "Mem:" | awk '{print $7}') / $(free -m | grep "Mem:" | awk '{print $2}')
[root@client1 ~]# expr $(free -m | grep "Mem:" | awk '{print $7}') \* 100 / $(free -m | grep "Mem:" | awk '{print $2}')
mem=$(expr $(free -m | grep "Mem:" | awk '{print $7}') \* 100 / $(free -m | grep "Mem:" | awk '{print $2}'))

4.配置文件

[root@client1~]# rpm -qa mailx        
mailx-12.5-16.el7.x86 64        
[root@client1 ~]# vi /etc/mail.rc        
[root@client1 ~]# echo” 122333"| mail -S "test" ***********        
set from********* @qq.com                  // 发送邮箱地址        
set smtp=smtp.qq.com                        // 邮箱使用的smtp服务器的域名        
set smtp - auth -user=*********@qq.com                        
set smtp- auth -password........              // 获取授权码        
set smtp -auth=login                             // smtp的状态,登录状态

5.编辑配置告警脚本


[root@client1 ~]# vim sys. sh        
[root@client1 ~]# chmod +x sys. sh        
[root@client1 ~]# ./ sys. sh 
#!/bin/bash
# 磁盘占有率超过90%CPU使用率超过80%,内存使用率超过90%告警发送邮件
disk=$(df -Th | grep '/$' | awk '{print $6}' | awk -F% '{print $1}')
CPU=$(expr 100 - $(mpstat | tail -1 | awk '{print $12}' | awk -F. '{print $1}'))
mem=$(expr $(free -m | grep "Mem:" | awk '{print $7}') \* 100 / $(free -m | grep "Mem:" | awk '{print $2}'))
A=/root/alert.txt
B=*************@qq.com
if[ $disk -ge 90 ]
then echo "磁盘占有率超过90%" >> $A
fi
if[ $CPU -ge 80 ]
then echo "CPU使用率超过80%" >> $A
fi
if[ $mem -ge 90 ]
then echo "内存使用率超过90%" >> $A
fi
if[ -f $A ]
then
cat $A | mail -s "alert report" $B
rm -rf $A
fi

3.实现dns及apache服务的一键化部署
需求描述
要求apche服务器绑定域名,客户机实现访问。
思路与命令类型
首先配置脚本文件,由于DNS服务配置需要较多的文件设置。可以先准备相应文件,以便配置时调用。
正反向配置文件:1912zf.txt ()

zone "aa.com" IN {
        type master;   
        file "aa.com.zone";  
       allow-transfer { 192.168.6.12; };
        also-notify { 192.168.6.12; };
};

zone "6.168.192.in-addr.arpa" IN {
        type master;                            
        file "aa.com.local";
        allow-transfer { 192.168.6.12; };
};

网页配置:http.txt

<html><title>web1</title><body><h1>good!!!</h1></body></html>

反向解析文件配置:local.txt

$TTL 1D
@       IN SOA  aa.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      aa.com.
        A       192.168.6.11
11 IN  PTR     www.aa.com.
12 IN  PTR     ftp.aa.com. 

正向解析文件配置:zone.txt

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
             NS      @
              A       192.168.6.11
www  IN A      192.168.6.11
ftp      IN A      192.168.6.12           
mail    IN CNAME www     

服务脚本配置 :

[root@server2 ~]# vi dns.sh
#!/bin/bash
# dns缓存服务器
A=/var/named
B=/etc/named.conf
C=/etc/named.rfc1912.zones
D=/var/named/aa.com.zone
E=/var/named/aa.com.local
                                        apache服务配置
yum -y install httpd
[ -e /var/www/html/index.html ] || touch /var/www/html/index.html
F=/var/www/html/index.html
chmod 755 $F
cat /root/http.txt > $F

yum -y install bind*                     修改主配置文件        
sed -i -e 's/listen-on port 53 { 127.0.0.1; };/listen-on port 53 { 192.168.6.11; };/g' $B
sed -i -e '/allow-query/s/{.*}/{ any; }/g' $B

cat /root/1912zf.txt >> $C                  区域配置

cp -p $A/named.localhost $A/aa.com.zone     区域文件
cp -p $A/named.loopback $A/aa.com.local

cat /root/local.txt > $E                  调用配置文件
cat /root/zone.txt > $D

sed -i '1anameserver 192.168.6.11' /etc/resolv.conf  添加ip地址指向
sed -i '1{H;d};2G' /etc/resolv.conf

systemctl restart named.service           服务启动
systemctl restart httpd

systemctl start named
nslookup www.aa.com                       解析地址

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值