2011-05-22 67 views
3

所以,当我调试我的Web应用程序等,我已经使用查尔斯网络代理和调试器,并喜欢它。很高兴看到通过端口80和443发送和接收的内容。我可以看到所有的资源加载,不仅仅来自“浏览器”,还有闪存应用程序。我也可以看到这些电话是如何进行的,而且很容易重建它们。这是一个很棒的调试工具,我喜欢它。如何查看网络流量?一个数据包嗅探或Web调试代理?

所以我不知道两件事情:

首先,我不知道是如果有类似的东西我可以用它来观看可能被即将到来,虽然对其他端口的流量。我猜一些桌面应用程序将使用互联网,但不一定通过http/https请求。我记得几年前看过一些安全工具 - 那里有很多安全工具,比如kismet/etherCap,ethershark等 - 有没有一种能够以简单直观的方式描述我所描述的内容?

此外,我想知道如果我正在使用我的iPhone/iPad/Android设备,如何通过我的电脑设置代理,以便我可以观看设备制作的http/https请求?

找到了答案,那一个位置:http://www.ravelrumba.com/blog/ipad-http-debugging/

我主要是在Mac上,所以,只要是苹果的友好会比较有帮助。

谢谢!

回答

3

我相信你正在寻找Wireshark。它允许您监视您的机器上的网络接口,并能够告诉您发送/接收数据包以及它们的协议。它还有一个协议解码器,可用于获取关于IP流的第7层信息。你也可以做一个“Follow TCP stream”,它允许你查看该连接的整个对话。它基于内置在tcpdump中的libpcap(数据包捕获)。

Web开发人员唯一的缺点是,如果您使用SSL加密会话,则无法对其进行解码。 SSL会话的端点在wireshark(以及类似的工具)的操作层上方(使用OSI模型)。

+0

值得设置一个中间人类型的代理以查看SSL数据吗?知道这样做的任何工具?或者,也许我会这样做,然后使用Wireshark?这实际上是为了web开发的目的:) – cwd 2011-05-22 18:21:49

+0

为此你应该可以使用[stunnel](http://www.stunnel.org/?page=index)。它会加密/解密隧道,然后用它做其他事情。您可能需要从客户端加密到网络服务器,然后将连接转换为未加密的端口,然后您可以使用wireshark。 – AndrewF 2011-05-22 23:39:02