2012-06-25 47 views
3

我想编写一个程序来修改所有传出(请求)HTTP请求,以便在我的Mac OS上即时更改其中一个传出标头X狮子系统。是否有任何系统API允许我像这样重写80端口流量?在系统级别修改传出HTTP标头Mac OS X Lion

仅供参考,我只需要在原地替换标头而不实际更改标头长度。我也已经尝试过使用标准的HTTP代理,但是要设置并仅对已配置代理的程序进行过滤并不容易,并且要尊重该设置。我也想知道它是否容易开启和关闭,因为我只需要在某个网络位置而不是在家中。

P.S.我在Modify http headers on system level (Linux)上找到了在linux上执行此操作的相关信息,但我确信Mac OS X lion不支持iptables,尽管它支持ipfw,但它已被弃用,转而使用PF。

+0

你想重写什么标题? – Trott

+0

重要吗?如果它有帮助,这是一个标准的,但我不想详细讨论它。 –

+0

其实,它甚至没有真正重写那么多 - 我只需要使现有的标题小写,因为我不得不使用透明代理(技术上说是DPI)。全系统将允许所有程序工作,而无需修改每一个程序。 –

回答

0

你确定吗,你需要它“系统宽度”会不会有像live-http-headersmodify-headers这样的浏览器插件就足够了?

如果你确定你需要它,也许这种攻击工具可以帮助: middler

或:fiddler

但要注意使用在一些国家甚至拥有这种工具可能是非法的。也请尊重他人的隐私。

+0

也可能是你的有趣的[scapy](http://www.secdev.org/projects/scapy/)[这里](http://stackoverflow.com/questions/4750793/python-scapy-or这就像是一个链接,展示了如何使用scapy(GET REQUEST)构建http握手。 – snies

+0

我以前使用过Fiddler,但它本质上是一个修改的HTTP代理,因此需要将每个软件设置为使用它作为代理,并且该软件甚至支持HTTP代理。另外,我在Mac OS X上使Fiddler变得非常困难,但我通过自定义的Node.js代理使用了类似的解决方案。不过,我正在寻找系统范围内的更好的替代品。此外,scapy看起来可能会起作用,但看起来它只能嗅探,发送和接收数据包,而不是真的修改它们。 –