mitProxy下载和使用

参考:

界面 - mitmproxy 中文文档 - 文江博客

一、下载mitproxy

方式一、pip install mitmproxy

方式二、下载地址:https://github.com/mitmproxy/mitmproxy/releases

cmd中输入检查是否安装成功
C:\Users\Admin>mitmdump --version
C:\Users\Admin>mitmweb --version

mitmproxy 构成

  • mitmproxy:是一个控制台工具,允许交互式检查和修改 HTTP 流量;
  • mitmweb:mitmproxy 是基于 Web 的用户界面,它允许交互式检查和修改 HTTP 流量;
  • mitmdump:mitmproxy 的命令行版本。它提供了类似 tcpdump 的功能,可查看、记录和以编程方式转换 HTTP 流量。

proxy server默认运行在8080端口上,web界面默认运行在8081端口上;

Web界面默认地址是127.0.0.1:8081,界面用于展示抓包详情。

mitproxy更换端口:

mitmproxy           //默认8080端口
mitmproxy -p 8888
mitmdump -p 8888
mitmweb -p 8888




访问:http://mitm.it/访问:http://mitm.it/

二、拿证书

方式一、cmd导出mitproxy CA证书 

在cmd界面输入mitmdump,就可以产生CA证书
在用户目录下的.mitmproxy目录里找到CA证书

mitmproxy-ca.pem PEM格式的证书秘钥
mitmproxy-ca-cert.pem PEM格式证书,使用于大多数非Windows平台
mitmproxy-ca-cert.p12 PKCS12格式的证书,适用于Windows平台
mitmproxy-ca-cert-cer 与mitmproxy-ca-cert.pem相同,只是改变了后缀,适用于部分安卓平台
mitmproxy-ca=dhparam.pem PEM格式的秘钥文件,用于增强SSL安全性

方式二、PC打开代理 去 http://mitm.it 下载在线证书

如果不打开windows代理

 PC打开代理方式一:

1.win+R---->cmd---->mitmdump

2.开代理

 

 

PC打开代理方式二:
win+R---->cmd---->mitmdump

mitmproxy的安装与错误处理_浮萍此生的博客-CSDN博客_mitmproxy安装失败

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最终效果如上图所示,要完成以上,就先勾选上图的“使用代理服务器。。。。”,然后选择高级,进入如下:

在这里插入图片描述

4、通常是以上步骤,便可以正常使用mitmproxy,如果不行,先试着进行chrome浏览器ca证书配置,(把第2步得到的证书导入受信任的根证书)
5.如果需要抓取手机数据,则要进行手机端的ip代理配置(注意:手机和电脑必须连接同一局域网),这一步的代理就是相当于手机给电脑发送请求,电脑作为代理帮忙去抓取数据,然后返回,手机从电脑那里拿到数据。具体配置看其他资料。证书名是mitm.it

 

1、输入“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors”浏览器有错误提示,说明自己的浏览器驱动器跟浏览器不匹配,重新下载安装驱动即可。
2、输入“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors”没有提示错误,但是mitmweb抓不到数据,很大可能是internet没有设置代理,参照一中步骤3即可,如果再不行,就是ca证书没有配置成功,按照一中两处关于ca证书配置步骤,配置即可。
3、一般而言,抓取不到数据的错误,多出现在chrome浏览器,如果无法解决,可以试着把mitmweb放在chrome中,然后用其他浏览器打开你需要抓取的网页,会有意想不到的事情发生。
4、打开mitmdump用不了,但是mitmweb可以用。解决办法:关掉mitmweb,两者不能同时使用。
5、打开mitmdump后,发现自己的其他网络爬虫报了错误。因为mitmdump的代理设置影响到了这些爬虫的正常访问,把上文中的“一”中的步骤“3”设置取消即可正常使用其他爬虫,但是要注意,这时候mitmdump不再能使用。

三、配置CA证书 

PC端 

PC端点击mitmproxy-ca-cert.p12就出出现导入证书的引导页 

1.如果采用在线下载的方式下载的证书,那么你就去你的浏览器的下载的目录找到证书,按步骤点击安装即可

2.如果采用cmd命令行输入mitmdump的方式导出的证书:
进入C:\Users\用户.mitmproxy目录
PC安装:mitmproxy-ca-cert.p12
手机安装:mitmproxy-ca-cert.pem,手机安装完成后,添加信任
作者:Jinwei_Xu
链接:https://www.jianshu.com/p/2e7efe2fa69e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

 

  

四、检查手机与电脑是否处于同一个局域网下

1、查看电脑IP地址:ipconfig 

2、查看手机IP地址
        设置----系统----关于手机----状态信息----IP地址
        192.168.20.82

五、手机端配置代理:

        wifi---修改----手动
        输入电脑的ip地址
        端口为mitmproxy设置的端口号(默认为8080)  

六、手机端配置证书

方式一、
        在手机wifi或浏览器中,手动设置代理后,浏览器输入mitm.it,选择对应的系统证书,下载完成后,去设置-描述文件中安装,添加信任
方式二、
mitmproxy-ca-cert.pem导入手机


设置-安全性与位置信息----加密与凭据----从SD卡安装

为证书命名随便取一个,比如mitmproxy



 

七、看到请求 

完成后在启动mitmdump.exe的代理窗口上即可看到手机发送的所有数据包。

SwitchyOmega

mitmdump 

  • mitmdump -q -s test.py -p 9999
  • -q:屏蔽mitmdump默认的控制台日志,只显示自己脚本中的
  • -s:入口脚本文件
  • -p:更改端口,默认为8080
  • 修改脚本文件时,不用重启也会生效

pc端Mitmproxy代理设置
1、Mitmproxy默认端口是8080,如果8080端口被占用,可以进行以下命令进行修改:
        mitmproxy -p 指定的端口号
由于windows系统不支持mitmproxy,修改windows的端口号,可以使用mitmdump或者mitmweb来代替mitmproxy,命令如下:
        mitmdump -p 指定的端口号

        mitmweb -p 指定的端口号
2、打开浏览器,我这里使用时chrome浏览器,并装上了SwitchyOmega工具,打开SwitchyOmega工具


————————————————
版权声明:本文为CSDN博主「w1990end」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33581509/article/details/116327225   

1.安装mitmproxy
2.查看本机ip,通过cmd终端ipconfig查看
3.安装Chrome插件:Proxy SwitchyOmega 2.5.21(谷歌商店通过安装扩展插件可以下载)
4.设置Switchy Omega,选项-新建情景模式-HTTP-ip地址-端口号8080,然后点击应用
5.在cmd终端中输入mitmdump进行连接
6.点击Switchy Omega,输入网址https:///www.baidu.com,然后输入mitm.it安装合适类型的证书即可
————————————————
版权声明:本文为CSDN博主「云咖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40466420/article/details/89487789

八、mitproxy运行python脚本

mitmproxy 的强大之处就在于它能够运行 python 脚本来处理相关的请求
mitmdump -p 889 -s mitm.py

九、selenium添加mitproxy参数

配置selenium的代理,selenium配置代理该用这个参数

options.add_argument("--proxy-server=127.0.0.1:8080")

这样就可以根据selenium来只抓selenium访问过的包了

十、记录android 添加系统证书

原文链接:记录android 添加系统证书_jsd2root的博客-CSDN博客_安卓添加系统证书
高版本的安卓系统,不再信任用户级证书,只信任系统级证书。还有些app与特定证书绑定无法抓包,可以另外通过hook技术抓取通信内容,本文只记录将fiddler证书添加到android系统证书中过程。


下载fiddler cer格式证书
将证书拷贝到linux 机器
查看openssl 版本

[root@bogon ~]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

转化证书格式

openssl x509 -inform DER -in '/root/Desktop/FiddlerRoot.cer'  -out cacert.pem

查看证书hash值

[root@bogon ~]# openssl x509 -inform PEM -subject_hash_old -in cacert.pem
e5c3944b
-----BEGIN CERTIFICATE-----
MIIDozCCAougAwIBAgIQAJGl31udK1aMaRIvxgnPPzANBgkqhkiG9w0BAQsFADBq
MSswKQYDVQQLDCJDcmVhdGVkIGJ5IGh0dHA6Ly93d3cuZmlkZGxlcjIuY29tMRgw
FgYDVQQKDA9ET19OT1RfVFJVU1RfQkMxITAfBgNVBAMMGERPX05PVF9UUlVTVF9G
*********
-----END CERTIFICATE-----

证书重命名

mv cacert.pem e5c3944b.0

将证书放到android 机器上

adb  push D:\doc\openssl\e5c3944b.0 /sdcard

adb 进入android 系统并提升root权限

PS C:\Users\test> adb -s 172.16.13.85:5555 shell
hwedison:/ $ su
hwedison:/ #

重新挂载/system 分区为可写区

hwedison:/sdcard # mount -o rw,remount -t auto /system

将证书拷贝到系统证书目录下 /system/etc/security/cacerts

hwedison:/sdcard # cp e5**944b.0 /system/etc/security/cacerts

修改证书权限与其他证书一致

hwedison:/sdcard # chmod 644 /system/etc/security/cacerts/e5**944b.0

重新将system 分区挂在为只读,重启设备

hwedison:/sdcard # mount -o ro,remount -t auto /system
hwedison:/sdcard # reboot

 

  • 通过上述步骤,再次进行抓包,部分没有证书绑定的https通信可以抓取到。
  • 上述证书可以保存起来,以后有其他测试机器需要再同一台机器上抓包,可以直接使用此证书。

十一、最后给自己遗留了一个问题,到现在也不知道为什么,大多数情况经过我上面说的已经就OK了,但是我的电脑比较皮, 我也不知道怎么回事,有懂的大神告诉我mitmweb怎么调用出它的界面

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mitmproxy是一个用于拦截、修改和观察网络流量的工具。它可以与Python脚本进行交互,提供了方便的API来处理HTTP请求和响应。要使用mitmproxy,首先需要安装它。可以使用pip命令来安装mitmproxy,例如:pip install mitmproxy。\[1\] 安装完成后,可以使用mitmdump命令来启动mitmproxy,并加载端口和Python脚本。可以创建一个Python脚本,例如counter.py,来处理请求和响应。在这个脚本中,可以定义一个Counter类,用于计数请求的数量。在request方法中,可以对请求进行处理,并在控制台输出请求的数量。\[2\] 启动mitmproxy后,可以使用mitmweb.exe或mitmproxy.exe来查看代理请求。mitmweb.exe会在默认浏览器中显示所有代理请求,而mitmproxy.exe会在控制台中显示所有代理请求。另外,还可以使用mitmdump命令行接口来对请求进行处理,并与Python脚本进行交互。使用mitmdump可以自动截获和分析HTTP请求和响应,并根据需要编写请求和响应的处理逻辑。\[3\] #### 引用[.reference_title] - *1* [app小程序手机端Python爬虫实战14-mitmproxy抓包软件详解](https://blog.csdn.net/huangbangqing12/article/details/126273633)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [python结合mitmproxy做拦截代理](https://blog.csdn.net/weixin_45552310/article/details/114523323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值