手把手带你入坑抓包神器MitmProxy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手把手带你入坑抓包神器MitmProxy相关的知识,希望对你有一定的参考价值。

参考技术A


你是否会对应用程序正在发出的请求感到好奇,以及它会返回什么响应,你是否曾经捕获过流量用它来研究某些东西是如何工作的,如果你有,那么mitmproxy这个工具你应该会很喜欢。



mitmproxy是一个支持 HTTP 和 HTTPS 的抓包程序,有类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作。MitmProxy具有以下特点:


在 Mac 上,mitmproxy 很容易用 brew 安装:



在 Windows 和 Linux 上,下载二进制版本并将其放在路径中的某个位置。



1 启动它


要启动 mitmproxy,需要输入mitmproxy,它将启动绑定到端口 8080。



命令行界面 (CLI) 具有类似 VIM 的键绑定。q将退出,方向键或h,j,k,l你会向上移动,并通过请求列表下来。?将加载帮助,并将深入研究特定请求。



如果你更喜欢鼠标而不是 Vim 快捷键,mitmproxy 也有一个 Web 界面。高级功能在Web界面中更容易发现,但CLI版本便于快速捕获会话。



2、连接代理


让我们设置 Internet 连接以使用此代理。在macOS下,在Setting -> Network下。



在代理下,启用 HTTP 和 HTTPS 代理并选择端口 8080:



如果我们尝试在 Web 浏览器中发出基于 HTTPS 的请求(例如加载 twitter.com),就会发生一些有趣的事情。



什么是中间人攻击?


中间人攻击 (MITM) 是一种安全威胁,攻击者可以在传入和传出请求之间进行攻击。你认为你是在和 Twitter.com 对话,但你是在和中间的那个人说话,他在为你和 Twitter 说话。此 MITM 可以查看您发送的所有内容,甚至可以更改你接收的内容。



HTTPS 协议可防止 MITM 攻击。HTTPS 协议非常复杂,但我们需要知道的是 HTTPS 使用受信任的证书颁发机构 (CA) 来签署证书。



你可以在浏览器中查看你正在查看的网站的证书是由哪个 CA 签署的。



这对于保护在线通信非常有用,但对于我们的调试目的来说却是个问题。mitmproxy 生成了一个证书。我们所需要的只是让我们的机器信任它。



mitmproxy 在您第一次运行时生成了证书和私钥。在 ~/.mitmproxy/mitmproxy-ca-cert.cer 里面。



目前,mitmproxy 已经在Github上标星 24K ,累计分支 3K (Github地址: https://github.com/mitmproxy/mitmproxy

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

简介

作者Code皮皮虾

作者简介:华为云享专家、掘金创作者、CSDN Java领域优质创作者、HDZ 核心组成员、JavaCodes公众号运营者!


先来看看Whistle

来到查看抓包请求的页面,可见显示十分的全面

还能显示树状图,根据域名进行区分,功能十分强大!


安装步骤


1.安装Node

因为Whistle是基于Node实现的跨平台web调试代理工具,所以我们需要先去安装Node环境

Node.js (nodejs.org)

直接下载即可


2.安装Whistle

Node安装成功后,执行如下npm命令安装whistle (Mac或Linux的非root用户需要在命令行前面加sudo,如:sudo npm install -g whistle

$ npm install -g whistle

npm默认镜像是在国外,有时候安装速度很慢或者出现安装不了的情况,如果无法安装或者安装很慢,可以使用taobao的镜像安装:

$ npm install cnpm -g --registry=https://registry.npm.taobao.org
$ cnpm install -g whistle

或者直接指定镜像安装:
$ npm install whistle -g --registry=https://registry.npm.taobao.org

3.启动Whistle

先给大家看一看常用的几个命令

最新版本的whistle支持三种等价的命令whistlew2wproxy

启动whistle

w2 start

指定端口启动

w2 start -p 8899

关闭whistle

w2 top

如果不指定端口,whistle默认端口为8899


4.查看whistle

可以通过以下两种方式来访问配置页面:

  • 方式1:域名访问 http://local.whistlejs.com/
  • 方式2:通过ip+端口来访问,如: http://127.0.0.1:8899

因为兼容性问题,最好去使用Chrome浏览器去进行访问

选择NetWorl,此时是抓不到请求的,大家也不要着急,还需要进行一点点配置即可抓到请求!


5.配置代理

安装Chrome代理插件:推荐安装SwitchyOmega

安装好后,点击小圆圈,选择选项

新建情景模式


6.安装证书


安装完成,进行抓包

去请求老倒霉蛋百度,可以看到,Whistle控制台是可以抓到请求的


注意事项

配置好代理后,记得选择,不然的话也抓不到请求



给各位小伙伴想说的话

我是 Code皮皮虾,一个热爱分享知识的 皮皮虾爱好者,未来的日子里会不断更新出对大家有益的博文,期待大家的关注!!!

创作不易,如果这篇博文对各位有帮助,希望各位小伙伴可以一键三连哦!,感谢支持,我们下次再见~~~



福利

公众号JavaCodes,绝对干货内容输出,囊括Java、Python爬虫、力扣题解、大厂面试题 四大系列,更有长时间积累资源分享



Java入门到就业学习路线规划

关注底部公众号回复: Java学习路线,即可领取全套资料


小白快速入门Python爬虫路线

关注底部公众号回复: 爬虫学习路线,即可领取全套资料

以上是关于手把手带你入坑抓包神器MitmProxy的主要内容,如果未能解决你的问题,请参考以下文章

手把手带你入坑H5与小程序直播开发视频课程直播的工作原理教程

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

3万字长文记录Docker 最全学习笔记,手把手带你入个门