夜神模拟器使用mitmproxy和mitmdump笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43256057/article/details/99294743

Mitmproxy相关:
Q:过滤出不是200 的请求命令及返回原来的页面命令。
输入f后输入!(~c 200)
把之前的命令还原后去除!(~c 200)

Q:过滤包含baidu.com的数据包:~d baidu.com

Q:过滤出post请求且url包含baidu的数据包。~m post & ~u baidu

断点调试相关:输入i
Q:拦截get请求且域名为baidu.com的包:~m get & ~d baidu.com

Q:请求百度的url,结果响应出www.sohu.com的页面:
1、~m get & ~d baidu.com后鼠标点入www.baidu.com,输入e,进入request-headers栏,选中host栏按d删除,按ESC退出。
2、再输入e,选中url栏,输入 https://www.sohu.com ,回车。
3、按q退出进入主页面后按a继续访问。

Q:返回响应内容是自己输入的某个字符串:先拦截包。随后按e进入response-body,输入随意字符后按ESC,输入:wq 退出,回到主页面后按a继续就可以看见页面显示自己的字符内容。

Mitmdump相关(端口号:8888):
Q:登录Mitmdump并执行test.py:
输入vim test.py —— 输入想执行的代码。
终端输入:mitmproxy -p 8888 -s test.py

Q:访问httpbin.org.get 随后输入能抓取它的请求头并能以白色、黄色、红色的字体来显示。
终端输入 vim test.py 或者直接打开test.py文件,随后粘贴以下代码:

from mitmproxy import ctx

def request(flow):
ctx.log.info(str(flow.request.headers))
ctx.log.warn(str(flow.request.headers))
ctx.log.error(str(flow.request.headers))

随后终端输入 mitmdump –p 8888 -s test.py
浏览器访问网页即可看到终端结果。

Q:安卓浏览器访问http://httpbin.org/get即可获得请求头及3种颜色标注。

注意:有时用了window的mitmdump再用Linux的mitmdump,会使得原来的mitmproxy证书的ip发生改变,从而你在访问网页的时候弹出证书有问题的提示。你只浏览器需要访问mitm.it把Android证书重新下载并安装即可,可改名为LinuxMitmproxy。

Q:执行test.py文件,输出请求url,请求方法,请求主机头,请求路径。响应状态码和响应体。至少用3种以上的颜色做标记。

from mitmproxy import ctx

def request(flow):
ctx.log.info(str(flow.request.headers))
ctx.log.error(str(flow.request.url))
ctx.log.warn(str(flow.request.method))
ctx.log.info(str(flow.request.path))
ctx.log.error(str(flow.request.host))

def response(flow):
ctx.log.info(str(flow.response.status_code))
ctx.log.warn(str(flow.response.text))

Q:把mitmdump显示的中文乱码纠正过来(Ubuntu):终端-设定字符编码-UTF-8。

猜你喜欢

转载自blog.csdn.net/weixin_43256057/article/details/99294743