在以前的工作中,当我在Windows机器上工作时,我曾使用Fiddler来查看HTTP事务和调试。
我特别希望监视ajax的HTTP事务。我正在努力验证该站点是否正在执行我期望的工作。重写HTTP(由Fiddler提供)是一种不错的方法,但不是必需的。
有人可以推荐在Mac上使用类似的东西吗?
#1 楼
使用Chrome浏览器并导航至chrome:// net-internals /,它允许进行详细的分析和转储。
评论
真好知道何时将其添加到chrome吗?
–道格·哈里斯(Doug Harris)
2011-11-28 15:54
不,谢谢。我曾经在Windows上与Fiddler一起工作,但后来转到Mac时,在寻找隐藏的Chrome功能时偶然发现了内部网络。
–brains_at_work
2011-12-9 13:11
这个工具看起来“不错”,但是您如何查看整个请求有效负载(即GET请求标头?)
–genxgeek
2015年5月20日下午5:25
AFAIK,这没有像Fiddler使用FiddlerScript,AutoResponder和断点那样提供修改传输中数据的方法。好的工具,但用途不同。
–雅各布
15年5月20日在17:20
该工具似乎只能捕获Chrome流量。有什么方法可以使用此工具来捕获特定进程的HTTP流量?
–吗啡
16年1月19日在22:58
#2 楼
我找到了Charles Proxy。它更接近Fiddler的功能。它不是免费的,但也许值得。评论
只是好奇:这里有人使用过吗?
– Arjan
09年9月18日在11:07
找到它后,我用了一两个小时。试用版有一些小屏幕和30分钟的限制,但我认为这些都不合理。我在HTTP响应中寻找特定的标头,因此能够轻松看到它们。
–道格·哈里斯(Doug Harris)
09年9月18日在18:11
Charles的优点是OSX和Windows都可以使用它,因此,如果您经常来回移动它是一个很好的通用工具。
–贾斯汀·欧姆斯(Justin Ohms)
13年5月2日在23:20
查尔斯(以及小提琴手,也许是webscarab)提供的一项重要功能是能够拦截和修改请求,包括https解密。
–urban_raccoons
2014年8月9日在18:36
我使用Charles解密Instagram,Facebook和其他移动应用程序的https请求。只需将iPhone代理指向Charles,我就能看到它们如何发送数据以及发送什么数据!
–马里奥·卡瓦略(MárioCarvalho)
2015年5月26日0:11
#3 楼
我已经使用mitmproxy来拦截HTTP通信。这是一个很棒的工具,您也可以将其用于调试移动设备或与此相关的任何操作系统。评论
爱这个!顺便说一句,对于所有脚本小子来说,如果您用浏览器中的JS之外的其他代码编写代码,那么这就是THE票。
– Shane
18年6月22日在20:01
注意:需要Xcode 11.1
–狮子座
19年11月27日在11:38
#4 楼
我最喜欢的用于监视流量的Mac应用程序是HTTPScoop,我在去年写的这篇文章中详细介绍了该命令以及从命令行使用tcpdump。评论
如果您碰巧知道Wireshark(或功能较弱的Cocoa Packet Analyzer):可以将HTTPScoop与之比较吗?
– Arjan
09年9月18日在11:09
可可数据包分析仪也非常简单。但是,我从来没有想过如何过滤某些特定的端口或服务器IP地址,然后查看请求和答复……在Wireshark中很容易做到。 (只需键入smtp作为显示过滤器,即可查看所有使用SMTP协议的流量。或者tcp.port == 25将所有流量获取到端口25及其响应。或者http和ip.addr == xxx以获取所有HTTP流量。与某些服务器之间)。
– Arjan
09年9月19日在8:24
httpscoop看起来很有希望,但不幸的是它似乎已被放弃,我无法在10.9.2上捕获本地主机流量。最新版本可追溯到2009年,该网站吹捧即将推出的v2.0,该版本似乎即将推出:/
–吉恩
2014年3月26日上午10:24
我尝试使用此应用程序,与提琴手相比,这太可怕了。我想捕获所有流量和所有端口的所有接口,而不是本地主机上的端口80。我试图通过首选项添加我想要的端口(禁用了瓢)。这对我没有帮助,因为我要监视的东西位于两个不同的接口上,例如lo / en0
– KnuturO
2015年11月25日16:06
链接到博客不起作用:(
–Reg
17-10-18在14:39
#5 楼
不是您的要求,但是在Firefox中,如果要编辑和重播请求(包括更改URL和HTTP方法),就只需要Live HTTP Headers插件。在Firebug中,网络监控显示所有请求和响应。同样,在Safari中,内置Web Inspector的“资源”窗格也满足了我的大部分需求。 (通过首选项启用Web Inspector:在菜单栏中显示“开发”菜单。)Chrome和Firefox具有相似的工具。
当事情变得更加复杂时,我启动了Wireshark数据包嗅探器。但是,与Fiddler不同,Wireshark不允许您更改数据,并且不像Fiddler那样支持自动响应程序。
对于Wireshark,请参阅超文本传输协议(HTTP)了解一些通用HTTP捕获信息,以及HTTP数据包捕获以调试Apache,例如显示过滤器。 (您可能希望将捕获过滤器设置为“
port 80
”,以显示对该端口的所有请求以及来自该端口的响应。或者,要限制到某些服务器,请使用捕获过滤器“ port 80 and host www.google.com
”。)类似:# Show only 404: page not found http.response.code == 404 # Show only certain HTTP methods http.request.method == "POST" || http.request.method == "PUT" # Show only javascript http.content_type contains "javascript"
请注意,Wireshark可以为您动态解压缩gzip或解压缩编码(压缩)的内容。这使事情变得更容易阅读,因为大多数Web服务器将压缩它们发送到浏览器的数据。
(对于自动响应器:出色的JS Bin上有一段简短的视频,介绍如何使用它调试Ajax请求。如果您不了解JS Bin,请先观看介绍视频。)
评论
+1 for Firebug-我喜欢他们的网络监控工具
–乔什
09年9月21日在23:15
我尝试了一下,但是我无法向其他网址(在同一域中)提出新请求,也找不到方法(例如,从GET到POST)。
– Purefan
2014年11月18日在8:54
@Purefan,没有更多细节,我们无济于事;它对我有用,请参阅我刚刚添加的屏幕截图。您可能已经碰到mozdev.org/bugs/show_bug.cgi?id=25831
– Arjan
2014年11月18日19:46
#6 楼
除了Charles(已经提到过)之外,我还喜欢Mozilla Firefox的HttpFox附加组件。与Charles一样,您可以在Mac和Windows上使用它。它比Charles轻巧,因为它位于浏览器中,有助于快速进行故障排除。以下是HttpFox页面上的一些信息:HttpFox监视并分析浏览器和Web服务器之间的所有传入和传出HTTP通信。
它旨在将HttpWatch或
IEInspector之类的工具中已知的功能引入Firefox浏览器。
每个请求可用的信息包括:
请求和响应标头
发送和接收的cookie
查询字符串参数
POST参数
响应正文
以及屏幕截图:
评论
这与较新版本的Firefox(Firefox 57和Firefox Developer Edition 57)不兼容。
– Promather
18年1月14日在1:43
#7 楼
不是代理,但是它确实有助于调试HTTP:Wireshark
仅在要打开HTTP流量的接口上开始扫描,执行流量,然后停止扫描,然后输入“ HTTP”作为过滤字符串。然后,您将能够检查HTTP对话的所有数据包。打开“数据包详细信息”视图后,您可以打开HTTP部分,它在数据包之间将保持打开状态。
这是一个很棒的工具,不需要更改浏览器代理。另一方面,由于已加密,因此它无法帮助HTTPS通信。 (尽管它可以解密使用RSA的SSL连接)
评论
只是更新:Wireshark在OS X上很痛苦。它需要X11,OS 11中不再包含X11,因此最终总共要使用200MB的磁盘。
– Marko Bonaci
15年8月17日在19:54
只是@MarkoBonaci更新的更新,Wireshark 2.x现在可以在OSX上很好地运行,而无需X11。
–方堡
2015年12月1日在15:10
@MarkoBonaci-您应该只使用qt安装。
–arcseldon
16年2月1日在16:47
#8 楼
我迟到了-我使用Paros Proxy。它是在Java中,所以是跨平台的。虽然,如果您希望将其打包为应用程序,则底部会有一个。#9 楼
不要忘记Burp Suite。他们有一个免费版本。它是跨平台的。 http://portswigger.net/burp/#10 楼
似乎免费的GlimmerBlocker可以解决部分问题。当然,它可以阻止所有内容,并在浏览器收到响应之前对其进行转换。但实际上,它可以修改请求和响应。尽管不是真正的调试,但它也提供日志记录。因此,它可能满足基本需求:
GlimmerBlocker内部运行4种类型的脚本,并且某些对象仅针对某些脚本类型定义:
全局代理:这将设置全局代理设置,并可以测试例如位置名称,AirPort网络。
请求修改:这可以更改请求的URL,将重定向响应发送回浏览器,或将text / html发送回浏览器。
关键字扩展。 [仅适用于Safari的AvB]
转换:修改Web服务器收到的响应,然后将其发送回Safari [或设置为使用GlimmerBlocker,AvB提供的代理的任何浏览器]。 />
(也可以使用它在接收到的响应中包括各种Greasemonkey脚本,而无需使用Greasemonkey附加组件,例如阻止Flash而不安装任何附加组件。)
评论
GlimmerBlocker是一个有趣的工具,但与我正在寻找的工具不同。我已经对原始说明进行了重新编辑,以删除重写的示例,并阐明我只是在监视流量而不是对其进行转换。
–道格·哈里斯(Doug Harris)
2010年1月7日在16:46
#11 楼
您可以按照Parallels网站上的说明使用Parallels轻松地为Mac配置Fiddler。唯一的警告是,您必须手动配置网络设置以指向VM的IP地址,但实际上并不需要大不了了。
评论
我不会轻易称呼它-它需要购买并安装VM服务器和完全不同的操作系统。
–詹姆斯·摩尔
13年8月15日在17:08
我在此工具提示中有5个条目,其中只有一个是IPv4格式。我应该选哪一个? :)
– Alex Sorokoletov
2015年5月15日下午6:06
您可以使用免费的虚拟化软件(例如Oracle的VirtualBox)以及来自modern.ie的VM,如果您想运行Windows操作系统(90天后需要重置),对于具备所需技能的人来说并不太高运行高级的Web调试代理
–雅各布
15年5月20日在17:16
如果这个问题尚未解决-有人应该提到Mac版Fiddler-使用Mono框架的telerik.com/download/fiddler ...
–火星罗伯逊
2015年10月12日在7:23
而且在macOS中对我不起作用
–tom10271
18年1月10日,下午2:14
#12 楼
jMeter也可能会有所帮助;它专为测试Web服务器上的负载性能而设计,但它仍然可以满足您的需求。 jMeter用Java编写,因此您可以下载一个可在Mac,Windows或Linux上运行的.jar文件。#13 楼
可可包分析仪非常有用。评论
有什么帮助?悬崖笔记版本会很有帮助
–游侠怪胎♦
2012年6月25日14:04
可可数据包分析器能够成功捕获HTTP通信,但它不执行请求/响应重建:(
–吉恩
2014年3月26日10:25
评论
它已经关闭,但是仍然存在,因此需要添加:Fiddler现在在Mac OS的Alpha中。我不知道为什么会关闭?它有113票。这不是一个关于堆栈溢出的问题。
在这些评论的正上方阅读基本原理-“寻求产品,服务或学习材料推荐的问题不在主题之列”
在附近的Windows机器上启动Fiddler,并配置您的MAC以通过Windows机器代理,瞧! MAC上的所有内容都将在Windows上显示:)
仅供参考,对于那些非常喜欢@boomhauer的评论的人:OSX的Fiddler仍在Alpha中,最后一次接触是在2013年7月,它需要Mono框架(因此,它基本上只是Windows版本的包装器,实际上为Cocoa进行了重构),并且该版本中有注释:“ Mac注意:Mac上的WinForms框架几乎是无法使用的bug。最好的选择是在Linux或Windows虚拟机中运行Fiddler,然后将Mac的代理设置指向该位置。”