2012-06-25 48 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看起來可能會起作用,但看起來它只能嗅探,發送和接收數據包,而不是真的修改它們。 –