Fiddler 在 linux/OSx 下的替代品?

主要用 http proxy 文件代理功能


Rythem 以Qt为基础, 框架跨平台, 开源的
和Fiddler一样具有 代理抓包/替换 功能

介绍: http://www.alloyteam.com/2012/05/web-...


使用场景转向 Android/Webview
mitmproxy 是个命令行下查看/修改 http 请求的交互式工具

截图

screenshoot
screenshoot

安装

sudo apt-get install python-dev libffi-dev
pip install mitmproxy

使用

ubuntu 上启动 mitmproxy
mitmproxy --host

手机 设置 -> WLAN -> 代理
主机名: ubuntu 的 ip
端口: 8080

然后访问网络就会在 mitmproxy 里看到请求记录(如截图)

快捷键

j,k 上下移动
enter 进入
tab 切换 request/response

参考

http://mitmproxy.org/doc/mitmproxy.html
http://blog.philippheckel.com/2013/07/01/how-to-use-mitmproxy-to-read-and-modify-https-traffic-of-your-phone/

阅读 34k
9 个回答

可以尝试使用一下nginx
我的测试环境大致配置如下

server {
    listen       8000; #监听端口,这里监听8000
    #server_name  localhost;
    resolver 8.8.8.8; #域名解析服务器
    location / {
        #这里制定本机代码仓库的静态文件目录,这里不设置就是直接取线下服务器的文件
        root   /Users/xp/projects/meituan.www/static;
        #取消默认文档
        #index  index.html index.htm;
        #如果访问的是文件夹,就是找默认文档,代理到原地址去找
        if ($request_uri ~* \/$ ){
            proxy_pass http://$http_host;
        }
        #如果目标url对应的文件没找到,就代理到原地址去找
        if (!-e $request_filename) {
            proxy_pass http://$http_host;
        }
        #如果对应的host是CDN服务器,就代理到线下的CDN测试服务器,以下的s1是一个意思
        if ($http_host = s0.meituan.net){
            proxy_pass http://s0.xpmt.meituan.com;
        }
        if ($http_host = s1.meituan.net){
            proxy_pass http://s1.xpmt.meituan.com;
        }
        #如果对应的host是Combo服务器,就代理到线下的Combo服务器
        if ($http_host = c.meituan.net){
            proxy_pass http://c.xpmt.meituan.com;
        }
    }

浏览器如Firefox/Chrome/IE等设置代理服务器为localhost,端口为8000即可。

了解过nodejs的话,试试这个:

Dproxy https://github.com/deemstone/dproxy

我是做前端开发的,这个工具自己用了两年了;
比nginx好用一些,配置文件就是nginx的风格,很好上手。
当初是为了实现Fiddler,超越Fiddler,但是比较懒,新功能更新的很慢;
最近正在做图形界面(Web端实现的)。

新手上路,请多包涵

osx上边可以用Charles,是windows和mac跨平台付费软件,功能和fiddler几乎一致。
wireshark比较底层,可能不会太适合你

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏