mitmproxy——抓取http、https

  mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能。除了命令行形式的控制台,mitmproxy还有两个关联组件:mitmdump和mitmweb。

  mitmdump:它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。

  mitmweb:它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。

  mitmproxy使用:

  终端键入:

    $ mitmproxy --listen-host 电脑IP地址 -p 端口号

    出现初始界面

mitmproxy——抓取http、https_第1张图片

手机连上手动代理后出现抓包信息

 

很好用的教程:https://greenrobot.me/devpost/how-to-debug-android-http-get-started/

 这样就能使用mitmproxy抓到http请求了!

但是!这时会发现mitmproxy不仅抓不到https请求,而且还会阻断https请求!

解决办法:

  启动mitmproxy之后,手机网页搜索mitm.it选择匹配的证书下载安装之后就能抓到https的请求了~

  虽然只用了一句话就解决这个问题了,但是我试了好久~哭唧唧~这个mitm.it我尝试了好多次才能正常访问~不知道咋回事~

  终于弄出来了,给自己呱唧呱唧!

接下来的问题就是,怎样能把想要的信息打印出来?

  mitmdump提供了专门的日志输出功能,可以设定不同级别以不同颜色输出结果。ctx模块有log功能,调用不同的输出方法就可以输出不同颜色的结果,以方便我们做调试。

  简单的尝试一下:

from mitmproxy import ctx


def request(flow):

    flow.request.headers['User-Agent'] = 'MitmProxy'


    ctx.log.info(str(flow.request.headers))

    flow.request.query["who"] = "baby!"

    ctx.log.warn(str(flow.request.query))

    ctx.log.error(str(flow.request.headers))

 

敲好用的良心教程:https://juejin.im/entry/5b3473b7e51d4558cf6e9abe 

 

转载于:https://www.cnblogs.com/gaoquanquan/p/9444006.html

你可能感兴趣的:(mitmproxy——抓取http、https)