码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Shell编程实际应用


     一、脚本编程步骤

    1. 需求分析
    2. 命令测试
    3. 脚本编程
    4. 测试调优

    二、案例分析

    1.MAC记录与端口扫描

    实验要求:
    (1)统计网络中服务器MAC。
    (2)检查哪些主机开启FTP。(21)(wget)($?)

    1. netadd="192.168.10."
    2. file="/opt/ethers"
    3. [ -f $file ] && /bin/mv -f $file $file.bak
    4. hostadd=100
    5. while [ $hostadd -le 107 ]
    6. do
    7. ping -c 2 -i 0.2 -W 2 ${netadd}${hostadd}
    8. if [ $? -eq 0 ]
    9. then
    10. arp -n | grep ${netadd}${hostadd} | awk '{print $1,$3}'>>$file
    11. fi
    12. let hostadd++
    13. done
    14. echo "主机列表是:"
    15. cat $file
    16. echo "以下主机开启FTP"
    17. target=$(awk '{print $1}' /opt/ethers)
    18. for IP in $target
    19. do
    20. wget ftp://$IP &>/dev/null
    21. if [ $? -eq 0 ]
    22. then
    23. echo $IP
    24. rm -rf index.*
    25. fi
    26. done

     备注:
     [root@localhost ~]# arp -n   (查看MAC地址)

    2. 开发监控脚本

    实验要求:
    (1)CPU,内存,磁盘l利用率
    (2)报警
    (3)通过邮箱发送邮件

    1. dug=$(df | grep "/$" | awk '{print $5}' | awk -F% '{print $1}')
    2. cug=$(expr 100 - $(mpstat | tail -1 | awk '{print $12}' | awk -F. '{print $1}'))
    3. mug=$(expr $(free | grep Mem | awk '{print $3}') \* 100 / $(free | grep Mem | awk '{print $2}'))
    4. alog="/tmp/alert.txt"
    5. amail="xxxxx@qq.com"
    6. if [ $dug -gt 80 ]
    7. then
    8. echo "磁盘利用率:${dug}%">>$alog
    9. fi
    10. if [ $cug -gt 80 ]
    11. then
    12. echo "cug利用率:${cug}%">>$alog
    13. fi
    14. if [ $mug -gt 80 ]
    15. then
    16. echo "内存利用率:${mug}%">>$alog
    17. fi
    18. if [ -f $alog ]
    19. then
    20. cat $alog | mail -s "Host Alert" $amail
    21. rm -rf $alog
    22. fi

     备注:
    [root@localhost ~]# df     (查看磁盘利用率)
    [root@localhost ~]# mpstat  (查看cpu)
    [root@localhost ~]# free    (查看内存)
    [root@localhost ~]# expr 235044 \* 100 / 3988652  (计算内存利用率,已使用内存空间*100 /总空)

    1. [root@localhost ~]# yum -y install mailx
    2. [root@localhost ~]# vim /etc/mail.rc
    3. set from=xxxxx@.com smtp=smtp.qq.com
    4. set smtp-auth-user=xxxxx@qq.com smtp-auth-password=xxxx邮箱授权码
    5. set smtp-auth=login

     备注:
    set from=user@xxx.com               # 发信人邮箱
    set smtp=smtps://smtp.xxx.com:465   #smtp地址
    set smtp-auth=login                 # 认证方式
    set smtp-auth-user=user@xxx.com     # 邮箱账号
    set smtp-auth-password=password     # 邮箱授权码

  • 相关阅读:
    代码随想录刷题|动态规划理论基础 LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
    java计算机毕业设计科研团队管理系统源码+mysql数据库+系统+lw文档+部署
    ffmpeg 开发笔记
    调用api接口获取token
    Win10更新错误代码0x800f081f的解决方法
    Roson的Qt之旅 #120 QNetworkCacheMetaData详细介绍
    菜鸟Linux(3):环境变量
    self Attention 位置编码的奇偶输入问题
    程序员的这10个坏习惯,你中了几个?超过一半要小心了
    14:00面试,14:06就出来了,问的问题有点变态。。。
  • 原文地址:https://blog.csdn.net/zheshijiuyue/article/details/139395062
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号