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

原文地址: https://www.cveoy.top/t/topic/eDrc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录