详细分析每一步代码实现的功能import sysfrom mitmproxy import httpfrom mitmproxytoolsmain import mitmdumpimport reimport urllibparseimport requestsimport configparserimport os# 操作def is_dangerous_siteurl pattern =
- 导入所需模块和库:sys、http、mitmdump、re、urllib.parse、requests、configparser、os。
- 实现函数is_dangerous_site(url),通过正则表达式判断传入的url是否为危险网站。
- 实现函数get_config(),通过os.environ获取文件路径,利用configparser读取配置文件中的内容,返回name键对应的值。
- 实现函数log_dangerous_site(account_id=None, uid=None),构造请求url,利用requests库发送请求记录危险网站信息。
- 定义类Monitor,初始化dangerous_sites列表。
- 实现类方法response(flow: http.HTTPFlow),判断该请求是否为危险网站,如果是且请求方法为POST且Content-Type为application/x-www-form-urlencoded,则获取请求体中的form_data,从中获取account_id和uid信息,调用log_dangerous_site()函数记录信息。
- 设置addons列表,将Monitor类实例化后添加到addons中。
- 判断是否为主程序入口,若是则打印版本号、端口号等信息,设置mitmdump的命令行参数,启动mitmdump
原文地址: https://www.cveoy.top/t/topic/eDrc 著作权归作者所有。请勿转载和采集!