参考:
界面 - mitmproxy 中文文档 - 文江博客
cmd中输入检查是否安装成功
C:\Users\Admin>mitmdump --version
C:\Users\Admin>mitmweb --version
mitmproxy 构成
proxy server默认运行在8080端口上,web界面默认运行在8081端口上;
Web界面默认地址是127.0.0.1:8081,界面用于展示抓包详情。
mitmproxy //默认8080端口
mitmproxy -p 8888
mitmdump -p 8888
mitmweb -p 8888
访问:http://mitm.it/访问:http://mitm.it/
在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安全性
1.win+R---->cmd---->mitmdump
2.开代理
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不再能使用。
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的代理窗口上即可看到手机发送的所有数据包。
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工具
- SwitchyOmega下载地址:https://github.com/FelisCatus/SwitchyOmega/releases
————————————————
版权声明:本文为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
mitmproxy 的强大之处就在于它能够运行 python 脚本来处理相关的请求
mitmdump -p 889 -s mitm.py
配置selenium的代理,selenium配置代理该用这个参数
options.add_argument("--proxy-server=127.0.0.1:8080")
这样就可以根据selenium来只抓selenium访问过的包了
原文链接:记录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通信可以抓取到。
- 上述证书可以保存起来,以后有其他测试机器需要再同一台机器上抓包,可以直接使用此证书。