本站木有非理性广告和有害内容,请大度地将本站加入广告屏蔽白名单吧~~~ ::博客文章推荐::

Firefox对COM组件独立进程导致内置插件无法嗅探到完整的网络请求

开发工具 木魚 559℃ 0评论

今天在处理一个Flash上传控件时发现的。

众所周知的是,Chrome中对于Flash插件的处理模式是独立一个进程来展示插件内容以避免Flash的崩溃导致浏览器跟随崩溃。Firefox在3.6.2中也开始引入这种模式,会有一个 Mozilla-runtime.exe 的辅助进程来显示Flash内容,如下图所示:

图片 

本身这个进程的引入应该说是一件好事,但是由于这个进程目前还只是测试性质的,所以存在有严重的性能缺陷,最明显的就是Flash在Firefox中显示的性能要远远低于其它浏览器,而且CPU占用率会较高,同时对其进行操作的时候会觉得有明显的延迟(因为网络请求性能也较低)。这些应该期待Firefox后续版本中修正(我目前用的是3.7.a4的nightly版本)。

但是我遇到的一个问题就是,firefox内置的网络嗅探机制无法嗅探到独立进程中的网络请求。这应该是一件比较棘手的事情。对于依赖于firefox内置请求的插件来说,应该不是一个好消息。从目前看来,Firebug和HttpFox均无法嗅探到这个独立进程的网络请求,如下图所示:

图片

图片

 

由此可以推测:

1.至少在目前的版本中,Mozilla-runtime.exe 的网络请求是独立于主进程的;
2.内置的任何插件均无法嗅探独立进程中的网络请求,包括 Firebug、HttpFox以及类似插件;
3.firefox的代理插件对独立进程是无效的(这条并未做验证,纯属猜测)。

目前看来,要嗅探此类Flash应用的数据,只能通过独立的嗅探软件。Network Monitor、Wireshark这些专业的工具在此不提,因为他们用来嗅探普通的HTTP数据时会显得操作相当繁琐。这里使用HttpAnalyer来嗅探,附加到Firefox进程时,要注意同时选择Mozilla-runtime进程:

图片

此时,flash提交的数据和网络请求就也能被嗅探到了:

图片

 

当然这样还是很不方便的,尤其是对于习惯用Firebug来集成嗅探的我们来说。不知道后面的版本中会不会做改进修正这样的不便。

本日志备份自 QQ 空间,原文地址:http://user.qzone.qq.com/286495995/blog/1269167450

喜欢 (0)or分享 (0)

您需要 登录 才能发表评论 You need login to post a comment :-)