我試圖創建一個工具,它會在特定數據包發送到特定網站之前追加/編輯特定數據包內的某些內容。捕獲和編輯TCP/UDP數據包
現在我正在使用Wpe Pro來應用此過濾器。
在C#中是否有類似的東西來創建這個工具?
我試圖創建一個工具,它會在特定數據包發送到特定網站之前追加/編輯特定數據包內的某些內容。捕獲和編輯TCP/UDP數據包
現在我正在使用Wpe Pro來應用此過濾器。
在C#中是否有類似的東西來創建這個工具?
有沒有一個真正的一般方法來做到這一點。你需要考慮多種可能性,看看它們是否適合你的情況。例如,您可以輕鬆地使用Pcap.NET(如註釋中所述)編輯使用HTTP發送的數據包。網絡上有很多例子可以指導你使用Pcap修改數據包,例如官方Pcap.NET論壇上的this discussion。然而,如果數據包使用HTTPS(SSL/TLS),那麼作爲實際發送數據的有效載荷將被加密並且可以繞過;如果有一個/多個precondition(s) of SSL are broken或使用像sslstrip (python)這樣的工具。請注意,即使請求HTTPS,sslstrip也會嘗試強制通過HTTP發送套接字,但這並不保證能夠正常工作。
就我個人而言,我會盡量避免觸摸插座,甚至任何網絡相關的東西。特別是當它涉及HTTPS時,因爲你現在可能已經明白了,這很難繞過。我不知道你試圖破解什麼程序,但我覺得這樣做會對這個答案有好處。
對於HTTP,人們可以很容易地創建一個簡單的程序hooksWindows Socket API。您應該查看send函數,甚至可以查看recv(接收)函數。如果需要,您可以根據需要修改有效負載,甚至可以用另一個有效負載替換它。 請注意,通過winsock.send函數發送的數據已被加密(如果使用SSL/TLS),因爲應用程序將處理第7層(應用程序層),第6層(表示層)和第5層(會話層,這是d)OSI模型。 Winsock is a bridge在第5層和第4層之間。
對於HTTPS,您仍然可以使用掛鉤,但您必須鉤住處理連接的應用程序部分,並確保在初始化連接之前應用您的(已修改)有效載荷。這聽起來很難做到,如果你願意學習並且有一些時間,那麼做起來確實很容易。
即使這有點寬泛,我也對可能的方式感興趣。我想我們正在談論編輯TCP/UDP數據包。使用SSL連接時,興趣點也在編輯數據包。 – C4u
是的即時通訊談論TCP/UDP包:) – d4ne
因爲你將不得不使用[Pcap](https://www.winpcap.org/),你可能想使用[this](http://pcapdotnet.codeplex .com/SourceControl/latest).NET實現。 – lokusking