微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

欢迎加入团队圈子!与作者面对面!

前言

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

所遇实践问题

获取手机端证书

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

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

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

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

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

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

此时我们就将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()函数方法

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

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

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

Python|MitmProxy代理抓包工具实践难点_编程语言_04

写入的函数方法:

Python|MitmProxy代理抓包工具实践难点_编程语言_05

原博客中的格式

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

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

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

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

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

运行

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

运行结果图:

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

总结

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


END

实习编辑   |   王文星

责       编   |   W Z Y

 where2go 团队



微信号:算法与编程之美          

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

长按识别二维码关注我们!

温馨提示:点击页面右下角发表评论,期待您的参与!期待您的转发!