「docker实战篇」python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)

本节主要一个特别重要的组件,mitmproxy中的mitmdump,为什么说它重要?因为它可以跟python脚本进行交互,是不是美滋滋!

如何进行交互

  • mitmdump的启动
    >默认的端口是8080
mitmdump
````

![](https://upload-images.jianshu.io/upload_images/11223715-7d2c1183ed5a3681.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


* mitmdump指定端口的启动
>指定端口是8889

``` bash
mitmdump -p 8889
````
![](https://upload-images.jianshu.io/upload_images/11223715-85c9ed94fc126c6f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)



* mitmdump指定python程序
>指定端口和python程序

``` bash
mitmdump -p 8889 -s test.py
````
![](https://upload-images.jianshu.io/upload_images/11223715-85c9ed94fc126c6f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


* 编写python程序
>必须要有def requet,对于夜神模拟器的证书配置上次都说过了。这次都不说了。

``` bash
from mitmproxy import ctx
#必须这么写有个request,有个response
def request(flow):
    # print(flow.request.headers)
    #ctx.log.info(str(flow.request.headers))
    #ctx.log.warn(str(flow.request.headers))
    ctx.log.error(str(flow.request.url))
    ctx.log.error(str(flow.request.method))
    ctx.log.error(str(flow.request.path))

def response(flow):
    ctx.log.error(str(flow.response.status_code))

  • mitmproxy 按键
按键 说明
q 退出(相当于返回键,可一级一级返回)
d 删除当前(黄色箭头)指向的链接
D 恢复刚才删除的请求
G 跳到最新一个请求
g 跳到第一个请求
C 清空控制台(C是大写)
i 可输入需要拦截的文件或者域名(逗号需要用来做转译,栗子:idig8.com)
a 放行请求
A 放行所有请求
? 查看界面帮助信息
^ v 上下箭头移动光标
enter 查看光标所在列的内容
tab 分别查看 Request 和 Response 的详细信息
/ 搜索body里的内容
esc 退出编辑
e 进入编辑模式

使用命令启动mitmdump ,并将截获的数据保存到指定文件中

mitmdump -w  outfile

使用指定命令截获的数据,如指定处理脚本文件为script.py.

   mitmdump  -s  script.py

PS:mitmdump 其实不太复杂,重要是写python脚本。

>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>>原文链接地址:「docker实战篇」python的docker爬虫技术-mitmproxy之安卓模拟器mitmdump(11)
上一篇: 下一篇:

发表评论

电子邮件地址不会被公开。 必填项已用*标注