免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2393 | 回复: 5

[文本处理] 帮看一个nagios端口检测函数 [复制链接]

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
发表于 2014-07-16 15:33 |显示全部楼层
本帖最后由 godsad 于 2014-07-16 17:21 编辑

下面这是对check_file_md5做了个小改,主要是为了实现对服务器新增监听端口进行监测,对新增监听端口进程进行反查并记录
  1. function check_file_md5() {
  2.         if [ -f $ARG ]; then
  3.                 if [ `grep $ARG $MD5_LIST | wc -l` -eq 1 ]; then
  4.                         if [ `grep $ARG $MD5_LIST | cut -d\  -f1` = `$MD5 $ARG | cut -d\  -f1` ]; then
  5.                                 echo "OK - $ARG."
  6.                                 exit 0
  7.                         else
  8.                                 echo "CRITICAL - $ARG is modified."
  9. #                               rebuild_md5_list
  10.                         #       echo $ARG > /home/godsad/pso.txt
  11.         #                       if ["$ARG" == "/home/godsad/portScan.log"]; then  #这一加条件就无法执行函数,不知道咋回事
  12.         #                               echo 'ps' > /home/godsad/ps.txt
  13.                                         genlog
  14.         #                       fi
  15.                                 exit 2
  16.                         fi
  17.                 else
  18.                         echo "CRITICAL - $ARG is modified."
  19. #                       echo `$MD5 $ARG` >> $MD5_LIST
  20.                         #echo $ARG > /home/godsad/pso.txt
  21.         #               if ["$ARG" == "/home/godsad/portScan.log"]; then
  22.         #                       echo 'ps' > /home/godsad/ps.txt
  23.                                 genlog
  24.         #               fi
  25.                         exit 2
  26.                 fi
  27.         else
  28.                 echo "CRITICAL - file does not exist!"
  29.                 exit 2
  30.         fi
  31. }
复制代码
下面这是自己的写的新增端口反查函数
  1. function genlog() {
  2.         rm -f /tmp/plist
  3.         rm -f /tmp/dlist
  4.         diff /home/godsad/portScan.log /home/godsad/portScan.log1 | egrep '>|<' | egrep -o '[0-9]+' > /tmp/dlist #生成新增监听端口列表
  5.         for loop in `cat /tmp/dlist`
  6.                 do
  7.                         netstat -lnpu --inet | grep $loop | awk '{print $6}' | egrep -o '[0-9]+' >> /tmp/plist  #生成进程id列表总是空
  8.                         netstat -lnpt --inet | grep $loop | awk '{print $7}' | egrep -o '[0-9]+' >> /tmp/plist
  9.                 done
  10.         cat /tmp/plist | sort | uniq > /tmp/plist1
  11.         for loop in `cat /tmp/plist1`
  12.                 do
  13.                         ls -l /proc/$loop/exe >> /home/godsad/proPath_`date +%Y%m%d_%H:%M`.log
  14.                 done
  15. }
复制代码

论坛徽章:
766
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
发表于 2014-07-16 15:43 |显示全部楼层
回复 1# godsad
  1. if ["$ARG" == "/home/godsad/portScan.log"]

  2. ==>

  3. if [ "$ARG" == "/home/godsad/portScan.log" ]
复制代码
两头都要留空格。。。
   

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
发表于 2014-07-16 15:47 |显示全部楼层
Herowinter 发表于 2014-07-16 15:43
回复 1# godsad 两头都要留空格。。。

谢谢.我都给忘了

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
发表于 2014-07-16 17:22 |显示全部楼层
genlog函数没什么问题吧?

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
发表于 2014-07-17 15:58 |显示全部楼层
cat /tmp/plist | sort | uniq > /tmp/plist1
可以简化成:
sort -u /tmp/plist > /tmp/plist1

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
发表于 2014-07-17 15:59 |显示全部楼层
ls -l /proc/$loop/exe >> /home/godsad/proPath_`date +%Y%m%d_%H:%M`.log
建议不要在文件名里面使用冒号,因为你不知道哪一天这个文件会被复制到Windows里面。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP