第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. BZOJ4260异或和

    4260: Codechef REBXOR Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 918  Solved: 420[Submit][Statu ...

  2. 【转】shell的反引号、单引号、双引号的作用

    Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中 ...

  3. 06 . Nginx静态资源缓存

    Nginx静态资源 Nginx可以处理静态资源 非Web服务器可以运行处理而生成的文件,即服务器只需要从硬盘或者缓存中读取然后直接给客户端响应即可. 常见的静态资源 # 浏览器渲染: html文件,样 ...

  4. Java中的String、StringBuffer和StringBuilder

    作为作为一个已经入了门的java程序猿,肯定对Java中的String.StringBuffer和StringBuilder都略有耳闻了,尤其是String 肯定是经常用的.但肯定你有一点很好奇,为什 ...

  5. 【Mybatis】mybatis3入门

    mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可 ...

  6. Java实现 LeetCode 710 黑名单中的随机数(黑白名单)

    710. 黑名单中的随机数 给定一个包含 [0,n ) 中独特的整数的黑名单 B,写一个函数从 [ 0,n ) 中返回一个不在 B 中的随机整数. 对它进行优化使其尽量少调用系统方法 Math.ran ...

  7. Java实现 LeetCode 386 字典序排数

    386. 字典序排数 给定一个整数 n, 返回从 1 到 n 的字典顺序. 例如, 给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] . 请尽可能的优化算法的时 ...

  8. Java实现 蓝桥杯 算法提高 数组求和

    试题 算法提高 数组求和 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入n个数,围成一圈,求连续m(m<n)个数的和最大为多少? 输入格式 输入的第一行包含两个整数n, ...

  9. Java实现 蓝桥杯 算法提高 成绩排序2

    试题 算法提高 成绩排序2 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出n个学生的成绩,将这些学生按成绩排序,排序规则:总分高的在前:总分相同,数学成绩高的在前:总分与数学相 ...

  10. Linux文件处理命令touch、cat、more、head详解

    命令touch详解 命令touch,所在路径及执行权限为: 可以看到,命令的路径为:/usr/bin/touch ,所以它的执行权限为所有用户 命令基本功能是创建空文件 (可以同时创建多个空文件,文件 ...