mitmproxy - 开源、免费的HTTP抓包分析工具

mitmproxy 是一款支持HTTP(S)的中间人代理工具。mitmproxy 提供了一个控制台接口用于动态拦截和编辑HTTP数据包。不同于Fiddler2burpsuite等类似功能工具,mitmproxy可在终端下运行。mitmproxy使用Python开发,是辅助web开发&测试,移动端调试,渗透测试的工具。
mitmdumpmitmproxy 的命令行版本,功能与其相同。

安装mitmproxy

  1. 先要在Mac中安装 pip(Python包管理工具,主要是用于安装 PyPI 上的软件包,可以替代 easy_install 工具。) ,打开Termal终端,输入如下命令:

    $ sudo easy_install pip
    Searching for pip
    Reading https://pypi.python.org/simple/pip/
    ...
    
  2. 安装mitmproxy

    $ sudo pip install mitmproxy --ignore-installed six
    

使用

使用方法目前自己也完全参考以上文章,因为目前也处于学习使用阶段,所以写一大堆和别人类似的东西或者不如别人详细完善的东西出来完全是浪费时间,Blog这个东西只是辅助手段,并不能放在首要目标上。

以下vim命令可通过获得

This view:

A 接收所有被拦截的流
a 只接收该被拦截的流
b 保存 request/response 体
C 导出流到剪切板
d 删除流
D 重复流
e 切换事件日志
E 导出流到文件
f 过滤视图
F 切换follow流列表
L 加载保存的流
m 切换流标记
M 切换标记的流视图
n 创建一个新的request
r 重复request
S 服务器重复request
U 取消标记所有被标记的流
V 还原更改的请求
w 保存流
W 把流stream入文件
X 杀死和删除流,即使它正被拦截
z 清楚流或事件日志
tab 选项卡在事件日志和流列表之间切换
enter 查看流
l 运行脚本

Movement

j,k 下移,上移
h,l 左移,右移(在某些文本中)
g,G 移至开头,结尾
space 翻页
page up/down 翻页
ctrl+b /ctrl+f 翻页
方向键 上下左右移动

Global keys

i 设置拦截模式
o 选项
q 后退,返回
Q 退出而不需要确认提示
R 从文件中重复运行requests/responses

Filter expressions:(过滤表达式)

~a 匹配response:CSS,JavaScript,Flash,image
~b regex Body
~bq regex request请求体
~bs regex response响应体
~c int HTTP response code
~d regex Domain域
~dst regex 匹配目标地址
~e 匹配错误
~h regex Header
~hq regex Request header
~hs regex Response header
~http 匹配http流
~m regex Method
~marked 匹配标记的流
~q 匹配request 而不需要response
~s 匹配response
~src regex 匹配源地址
~t regex Content-type header
~tcp 匹配TCP流
~tq regex Request Content-type header
~ts regex Response Content-type header
~u regex URL
!
&
l
(...) 集合
  • 正则表达式是Python风格的。
  • 正则表达式可以被指定为带引号的字符串。
  • Header匹配(h,hq,~hs)是针对“name:value”形式的字符串。
  • 没有运算符的表达式与URL的正则表达式匹配
  • 默认的二进制运算符是&

Examples:

google.com URL包含“google.com”
~q ~b test Request请求体中包含“test”
!(~q & ~t "text/html") 除了Request请求中带有 “text/html” 的内容类型

参考

  • 推荐给开发人员的6个实用命令行工具(阅读难度:★)
  • 使用mitmproxy进行移动端的HTTP抓包(阅读难度:★★)
  • mitmproxy实践教程之调试 Android 上 HTTP流量(阅读难度:★★)
  • 和Charles同样强大的iOS免费抓包工具mitmproxy(阅读难度:★★★)
  • mitmproxy套件使用攻略(阅读难度:★★★★)

你可能感兴趣的:(mitmproxy - 开源、免费的HTTP抓包分析工具)