2014-02-19 153 views
0

問題說明: 假設父服務器託管在計算機IP:1.1.1.1上,並且該服務器有時與三個不同的服務器通信,說A(1.1.1.2),B(1.1.1.3), C(1.1.1.4)。這些服務器可能是數據庫服務器或其他服務器。 現在,您可以從瀏覽器發送http請求到1.1.1.1/somePage.htm,因此某些TCP數據包將轉到服務器1.1.1.1,並且1.1.1.1可以發送和接收來自A,B的一些TCP數據包,C也是如此。 目標是從瀏覽器機器獲取所有TCP數據包的信息,無需在任何服務器上安裝任何代理軟件。 一個解決方案是我們可以在1.1.1.1服務器機器上編寫一個代碼,該代碼將針對各個IP過濾所有TCP數據包。但我不想要這個解決方案。 有什麼辦法可以解決這個問題嗎?是否有可能爲此引入新協議?但服務器代碼不能修改。捕獲TCP數據包流

+1

我不確定你是如何建議在不修改服務器代碼的情況下引入新協議的。如果您無法在服務器上修改任何內容,則需要使用可以看到這些數據包的其他設備執行操作。查看網絡設備的手冊,也許交換機/路由器支持端口鏡像。 – nos

回答

0

「任何代理軟件」是否包含Wireshark之​​類的東西?通常,查看接收到的所有數據報的方式是使用Wireshark等嗅探器,或者可以在Linux服務器中使用tcpdump。

您也可以使用Netfilter處理服務器中收到的數據包並對其執行某些操作。

如果以上所有內容都包含在您不想做的事情中,我會看到的是在瀏覽器和Web服務器之間的中間添加另一臺服務器(或者如果您在服務器和負載平衡器之間有一個負載平衡器),它只能作爲路由器或橋接器。在該機器中,您可以使用所有可用的工具檢查和過濾TCP段。