使用pyinotify实时监控web服务器文件系统

使用pyinotify实时监控web服务器文件系统

本节所讲内容:

1、 WAF 防火墙简介

2、 Python pyinotify 模块

3、 Python sys 模块 sys.argv

4、 Pthon 函数

5、 Python 面向对象 继承

6、 Python 调试模式 if __name__ == “__main__”

 

1、 WAF 防火墙简介

Web应用防护系统(英文:Web Application Firewall,简称: WAF), 是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品,WAF工作在应用层,因此对Web应用防护具有先天的技术优势。基于对Web应用业务和逻辑的深刻理解,WAF对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护

clip_image002

2、 sys.argv

sys 是python内置的与系统发生交互模块

sys.argv 用于接收执行文件时候外部传入的参数,默认情况下是一个只有一个参数的列表,参数是文件名称

3、 Pthon 函数

是python面向过程变成的一部分

clip_image003

4、 Python 面向对象 继承

clip_image005

6、Python 调试模式 if __name__ == “__main__”

__name__ 是python内置的一个变量

__name__ 有两个值

当本脚本执行的时候 __name__的值为__main__

当脚本被导入执行的时候 __name__ 的值为 文件名本身

7、Python pyinotify 模块

Pyinotify 模块讲监控分为了两部分

1、 事件描述部分

描述当触发某事件的时候脚步给出的反应

IN_ACCESS,即文件被访问
IN_MODIFY,文件被write
IN_ATTRIB,文件属性被修改,如chmod、chown、touch等
IN_CLOSE_WRITE,可写文件被close
IN_CLOSE_NOWRITE,不可写文件被close
IN_OPEN,文件被open
IN_MOVED_FROM,文件被移走,如mv
IN_MOVED_TO,文件被移来,如mv、cp
IN_CREATE,创建新文件
IN_DELETE,文件被删除,如rm
IN_DELETE_SELF,自删除,即一个可执行文件在执行时删除自己
IN_MOVE_SELF,自移动,即一个可执行文件在执行时移动自己
IN_UNMOUNT,宿主文件系统被umount
IN_CLOSE,文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)
IN_MOVE,文件被移动,等同于(IN_MOVED_FROM | IN_MOVED_TO)

2、 监控主部分

wm = pyinotify.WatchManager() 创建监控实例

wm.add_watch(path,pyinotify.ALL_EVENTS,rec=True) #添加监控的对象

notifier = pyinotify.Notifier(wm,ev) #绑定一个事件

notifier.loop() #运行监控

本章节使用pyinotify实时监控web服务器文件系统,需要脚本或者是教程的可以关注并私信老师,老师发给你!

猜你喜欢

转载自blog.51cto.com/xuegod/2323147
今日推荐