前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python|MitmProxy代理抓包工具实践难点

Python|MitmProxy代理抓包工具实践难点

作者头像
算法与编程之美
发布2020-08-12 10:46:10
1.2K0
发布2020-08-12 10:46:10
举报
文章被收录于专栏:算法与编程之美

前言

最近小编利用MitmProxy代理抓包所遇到了一些实践难点,因为看过一些介绍MitmProxy代理抓包的博客,故如何安装MitmProxy的步骤不做介绍,我只将自己遇到的实践问题介绍并解决,希望对读者有所帮助。

(本篇博客基于

https://blog.csdn.net/fei347795790/article/details/107284720/该博客的实践所遇问题的解决方案。)

所遇实践问题

获取手机端证书

我所读的一篇博客的介绍方法:将手机端的代理ip设置和pc端ip地址一致,代理端口号设置为:8080;然后手机端浏览器访问mitm.im进行下载证书。照此方法不过我的手机(小米手机)并不会出现证书下载界面,而会出现另一个界面;

再参考了另外几篇博客后,我选择了一种解决方案。

解决方案:找到你所下载好的MitmProxy安装文件(如下图),然后双击mitmproxy-ca.p12文件进行pc端证书导入,其中涉及到几处导入选项,具体操作参考博客即可:

然后将其中的mitmproxy-ca-cert.pem文件发送到手机,小米手机一般不能直接识别pem文件(本人小米手机);此时我们打开:设置-WLAN-高级设置-安装证书-找到接收的mitmproxy-ca-cert.pem文件;证书名称为mitmproxy即可。

此时我们就将pc以及手机端的证书安装问题解决完毕了。

原文的代码运行逻辑顺序问题

说实话,我读完原文可能不是很能理解原文的代码逻辑顺序,其实有些代码是不必要的代码,可能有些混淆;

我们需要的py代码分别是原文的:

main.py ; read_cookie.py;write_cookie.py;wxCrawler.py 。

总结后的原文的逻辑顺序:以main.py为脚本启动代码,去启动read_cookie.py,而read_cookie.py中以os模块的system去启动cmd命令,然后cmd以mitmproxy启动write_cookie.py脚本获取数据,然后将数据保存到所创建的cookie.text文件中;然后再main.py继续执行启动wxCrawler.py脚本代码,wxCrawler.py脚本代码主要是去爬取微信公众号的文章列表,并打印。

写入str_to_dict()函数方法

在原博客的代码中有一个get_params方法,其中的str_to_dict()函数方法需要手动写入,但原文描述有点不清楚;将str数据类型转换为dict类型,否则会出现utils无str_to_dict()方法报错。

操作方法:在pycharm操作上,我们只需按住ctrl键,然后用鼠标左键点击utils模块即可写入函数方法;

写入的函数方法:

原博客中的格式

原博客中的空格以及一些符号存在不规范以及运行代码的格式不对,以及爬取链接等链接格式均存在大大小小的错误;修改后的原文代码:

运行

我们只需要打开公众号,随便点击一个文章刷新即可抓取公众号文章。

运行结果图:

总结

本文主要是以mitmproxy工具代理抓包所遇的实践难点所总结的一篇解决方案的博客,以及原博客中的一些描述不清楚的地方的一些解析,及问题的解决,希望对读者有所帮助。

END

实习编辑 | 王文星

责 编 | W Z Y

where2go 团队

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档