2016-07-01 29 views
0

我想通過代理配置通過Fiddler從Windows 7上的進程捕獲HTTP通信。該進程是第三方可執行文件,我發現它是引用Lua5.1.dll並且是一個64位進程。它也被安裝爲Windows服務。如何從Windows上的Lua進程中捕獲HTTP流量?

該進程正在向同一臺機器上的不同進程發送HTTP GET請求,但似乎無法捕捉到Fiddler中的這些進程。

我已經嘗試通過netsh.exe winhttp配置代理,但這也不起作用。 HTTP請求是否來自這個進程,但不使用WinHTTP,而是使用其他的東西?

感謝

回答

1

那麼你必須找出如何設置代理爲lua可執行文件。

請記住,即使設置了Lua可執行文件以遵守WinHTTP/WinINET代理設置,這些設置也是每個用戶的,並且您的服務可能不會在您的用戶帳戶下運行。因此,首先要嘗試將服務用戶帳戶的WinINET代理更改爲Fiddler並重新啓動服務。

您還可以將Fiddler配置爲反向代理,並將入站流量捕獲到獲取GET請求的本地進程。這可能更簡單。這裏是一個如何 - http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy

+0

非常感謝,我試圖通過爲用戶帳戶設置WinHTTP/WinINET代理來爲發送進程配置代理,但是沒有任何內容在提琴手中顯示。我覺得HTTP客戶端可能是WinSock之上的自定義實現,這是否意味着我運氣不好? WireShark能夠在這種情況下捕獲HTTP流量嗎?接收過程是Ubuntu訪客虛擬機上的Apache2 Web服務器。我將研究反向代理配置,我不知道這是如何工作的,我在這裏深入一點:)。 –

+1

客戶端絕對有可能不關心WinINET代理配置。它也有可能無法配置爲使用代理。 – TsviatkoYov

+1

逆向代理沒有什麼複雜的。 Fiddler現在運行在你的接收程序運行的機器/端口上(或者如果你可以配置你的客戶機使用不同的請求url,則在不同的機器/端口上運行)。所以Fiddler從客戶端獲取所有請求。然後Fiddler將這些重定向到在另一臺機器/端口上運行的實際Apache2。因此Fiddler看到了Apache2傳入流量。 – TsviatkoYov