第1则

---抓包工具mitmdump的使用---

一、什么是抓包?怎么抓包?

1、抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等

2、我们平常可以用一些抓包工具进行抓包操作。一般测试人员常用的抓包工具是:fiddler、charles、mitmproxy三种。鹏鹏在这里简略介绍下这三种抓包工具的优缺点。

(1)fiddler:免费,但是跨平台能力较差。在MAC上非常非常不好用。但是在windows上用起来感觉不错,重点是免费

(2)charles:跨平台不错,windows和mac上都能支持,遗憾的是这是一个收费软件。

(3)mitmproxy:跨平台能力不错、支持脚本扩展。是测试开发工程师常用的一款抓包工具,免费。只不过它是一个控制台的形式操作。

下面我们看看mitmproxy的介绍吧。

二、mitmprox介绍

1、Mitmproxy是一个免费的开源交互式的HTTP/HTTPS代理。

2、mitmproxy就是用于MITM的proxy,MITM即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次会看看请求或者响应结果信息,记录其截获的数据或篡改数据,引发服务端或客户端特定的行为。

3、不同于fiddler或wireshark等抓包工具,mitmproxy不仅可以截获请求帮助开发者查看,分析,更加可以通过自定义脚本进行二次开发(篡改信息重新发送)。

4、mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。

下面我们来了解它们的用法

三、mitmdump的使用

这边主要用windows来做演示。

1、首先安装好Mimtproxy(具体安装方法请关注公众号回复“软件安装”获取)

2、打开cmd(命令提示符)界面。MAC的话是终端界面

3、输入ipconfig 查看IP地址。(mac是ifconfig)鹏鹏这边连的是WIFI网络所以是在无线局域网适配器这里取得IP地址,如果是网线连接的话取以太网的就可以了。地址取IPv4的地址哦。把IP地址记在小本本中一会要用。

4、在命令提示符中输入:mitmdump。回车开始抓包。默认端口是8080。

5、这里有几种mitmdump的几种用法

-q:屏蔽mitmdump默认的控制台日志,只显示自己脚本中的

-s:入口脚本文件

-p:更改端口为8889,默认为8080

修改脚本文件时,不用重启也会生效

6、打开mitmdump后就可以在手机或pc上做代理抓包啦!这边注意下安卓手机安卓版本6以上的抓不了HTTPS的包,所以需要抓安卓软件的话建议使用安卓模拟器。

7、打开安卓模拟器后(这里以雷神模拟器为例),打开模拟器---设置---长按WLAN---修改网络---高级选项---代理设置为手动---在代理服务器主机和端口输入电脑的IP地址和mitmdump设置的端口号---点击保存。

8、代理设置好后就可以开始抓包了么?不还差一步。我们需要打开浏览器在地址栏中输入mitm.it,选择安卓-下载证书。

证书下载好以后,点击下载好的证书进行安装

点击确认后,他会提示你设置密码,如果设置过的话不会弹窗。密码设置结束后会直接提示安装完成。

9、证书安装完成后就可以开始抓包了!下面是抓取结果。如果想直接输出入参和出参甚至是把抓取到的数据写入文件中,需要写一些简单的脚本进行输出。python脚本写法下期更新。关注公众号“跟着鹏鹏学测试”。学测试不迷路!

扫描二维码 | 关注我们

微信号 : GZPPXCS

mitmproxy的简单使用的更多相关文章

  1. 抓包工具Charles,anyproxy,mitmproxy等

    Charles:图形化界面,看着比较方便友好,也可以抓取https,不过电脑和手机都要下载证书,主要我的电脑上不能添加一添加就卡死 所以,抓取https的话,就用mitmproxy比较简单 1.安装C ...

  2. App爬虫神器mitmproxy和mitmdump的使用

    原文 mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler.Charles的功能,只不过它是一个控制台的形式操作. mitmproxy还有两个关联组件.一个是mitmdum ...

  3. Python接口自动化测试框架实战 从设计到开发

    第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的htt ...

  4. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  5. Android 抓包,监控流量工具之 mitmproxy

    转:http://greenrobot.me/devpost/how-to-debug-android-http-get-started/ mitmproxy实践教程之调试 Android 上 HTT ...

  6. Python爬虫入门教程 47-100 mitmproxy安装与安卓模拟器的配合使用-手机APP爬虫部分

    1. 准备下载软件 介绍一款爬虫辅助工具mitmproxy ,mitmproxy 就是用于MITM的proxy,MITM中间人攻击.说白了就是服务器和客户机中间通讯多增加了一层.跟Fiddler和Ch ...

  7. 手机app数据的爬取之mitmproxy安装教程

    mitmproxy是一个支持HTTP和HTTPS的抓包程序,类似Fiddler.Charles的功能,只不过它通过控制台的形式操作. 此外,mitmproxy还有两个关联组件,一个是mitmdump, ...

  8. 13.App爬取相关库的安装(Charles,Mitmproxy,Appium)

    由于App没有像浏览器一样直观的后台请求工具,主要用一些抓包技术抓取数据.(目前也在学习安装,参考书籍.) 首先呢,一些简单的接口通过Charles或mitmproxy分析,找出规律,直接用程序去抓取 ...

  9. 代理工具--mitmproxy

    #代理工具 mitmproxy 指令:mitmproxy -b ip -p port(代理ip设置为:ip,端口设置为:port) 拦截request: 输入字母“i”(代表Intercept fil ...

随机推荐

  1. D:Sequence Swapping

    BaoBao has just found a strange sequence {<, >, <, >, , <, >} of length in his poc ...

  2. D. Almost Acyclic Graph 判断减一条边能不能得到DAG

    D. Almost Acyclic Graph time limit per test 1 second memory limit per test 256 megabytes input stand ...

  3. shiro的使用详解~

    在家无聊复习一下shiro 打开了之前的项目,由于lombok插件安装不了,不知道idea抽什么风所以get,set方法报错了,将就一下 只看shiro的使用,配置在shiro分类中有 登录方法 pa ...

  4. 【转】团队项目的Git分支管理规范

    原文地址: http://blog.jboost.cn/git-branch.html 分支管理 创建项目时(一般是服务型项目,工具型或辅助型项目可以简单一些),会针对不同环境创建三个常设分支: de ...

  5. UIAutomator2的API文档(二)

    1.设备屏幕事件 熄灭屏幕d.screen_off() 唤醒屏幕d.screen_on() 屏蔽状态d.info.get('screenOn')#返回True or False 解锁屏幕d.unloc ...

  6. sql中partition的使用

    https://www.cnblogs.com/tfiremeteor/p/6296599.html

  7. IT笑话十则(二)

    一.女程序员征婚 女程序员是这么征婚的: SELECT * FROM 男人们 WHERE 未婚=true and 同性恋=false and 有房=true and 有车=true and 条件 in ...

  8. 用python做时间序列预测一:初识概念

    利用时间序列预测方法,我们可以基于历史的情况来预测未来的情况.比如共享单车每日租车数,食堂每日就餐人数等等,都是基于各自历史的情况来预测的. 什么是时间序列? 时间序列,是指同一个变量在连续且固定的时 ...

  9. 深入理解JS:var、let、const的异同

    目录 序言 var 与 let 的区别 作用域 重复声明 绑定全局对象 变量提升与暂存死区 let 与 const 异同 参考 1.序言 var.let 和 const 都是 JavaScript 中 ...

  10. Rocket - debug - Example: Accessing Registers Using Program Buffer

    https://mp.weixin.qq.com/s/8yYLVg-RXX3XX0T431lxeA 介绍riscv debug接口的使用实例:使用Program Buffer读取寄存器. 1. Wri ...