2017-05-22 23 views
0

我正在研究c#上的tcp監聽器項目。我正在使用pcap.net進行數據包捕獲。但是當我試圖通過諸如tcp.Http.Decode(Encoding.UTF8)這樣的命令獲得http消息時,我得到了一些加密的腳本。我正在監聽不使用SSL保護的網站。我試過tcp.Http.ToMemoryString()然後用UTF8用字節解碼,我可以正確得到Http頭,但是我不能以可讀的形式得到HTTP消息。任何想法我該怎麼做,或者我錯過了什麼?如何從C#中的TCP數據包獲取HTTP正文消息#

+0

它可以被壓縮,檢查傳輸編碼的標題 – Joni

+0

哦,我也嘗試過使用gzip和deflate,但也有一個問題出現了。幻數錯誤你有什麼想法如何解決它? –

回答

1

您應該使用HttpDatagram.Body屬性來獲取正文。

這將返回解析的HTTP數據包的正文部分。

請注意,雖然您正在解析單個數據包,所以您只能從該數據包中獲取數據,該數據包可能不包含整個HTTP響應正文。

+0

我得到了該網站的所有數據包,它必須是一個數據,也許有一點數據必須在一個數據包中。它看起來像壓縮或編碼可以幫助我嗎? –

+0

如果它不是第一個數據包,則必須先進行TCP重構,然後解析數據。 – brickner

+0

非常感謝你的傢伙 –

相關問題