我想要所有的網絡流量(HTTP,HTTPS和DNS - 有沒有其他人?)通過本地應用程序並轉到服務器應用程序,並從那裏進入互聯網。我怎樣才能做到這一點?我已經寫了一個異步TCP服務器,我知道使用SocketAsyncEventArgs在C#中的套接字異步編程(我不只是一個項目的主人,但我認爲我可以理解一些基本知識)。C#中的隧道HTTP,HTTPS和DNS#
1
A
回答
1
要做到這一點的唯一方法是編寫一個Windows網絡驅動程序 - 你不能從userland做到這一點。這就是VPN的工作原理。
有些用戶級隧道可以開發隧道連接,但它們需要用戶配置其應用程序以便首先使用它,因此您不能單方面重定向所有網絡活動。
從你的問題來看,我猜你對Winsock內部組件或編寫內核網絡驅動程序不太熟悉,所以現在我要說,我認爲這是一種高於你現在的能力水平。
但是,如果您將採取一些不純的方法,您可以很容易地實現SOCKS代理,但這需要配置瀏覽器來使用您的代理服務器 - 至少通過這種方式您可以隧道HTTP和HTTPS,但是我不確定瀏覽器是否使用SOCKS服務器進行DNS,或者他們使用操作系統提供的DNS功能。
0
像@戴建議,使用SOCKS代理。它在以上運行傳輸層,因此SOCKS服務器可以配置爲服務在典型的TCP/UDP上運行的任何應用協議。
這正是TOR所做的掩蓋所有流量,而不僅僅是HTTP。
相關問題
- 1. http隧道入門
- 2. 隧道通過HTTP
- 3. HTTP隧道Servlet(Java)
- 4. HTTP隧道與HTTP代理
- 5. Java隧道HTTPS(SSL)請求
- 6. C#隧道/大橋從HTTP到襪子
- 7. 通過HTTP的SSH隧道
- 8. HTTP隧道如何工作?
- 9. 什麼是HTTP隧道?
- 10. 如何使用Casper.js測試HTTP到HTTPS隧道?
- 11. 使用libssh和c的SSH隧道lang
- 12. HTTPS密鑰協商和使用Javascript通過HTTP進行隧道傳輸
- 13. 使用RMI的HTTP隧道安全
- 14. JAVA Http隧道:需要的示例
- 15. 用於攝像機的HTTP隧道(RTP)
- 16. PDO和SSH2隧道
- 17. Http隧道在C#(TCP)中通過防火牆
- 18. 如何通過HTTP代理隧道?
- 19. 如何編程一個http隧道
- 20. 通過HTTP隧道傳輸RTSP
- 21. SSH隧道通過HTTP代理
- 22. 在Android中的SSH和隧道技術
- 23. Java JSch SSH隧道發送HTTP或HTTPs請求到遠程服務器
- 24. 無法通過代理隧道。代理通過https返回「HTTP/1.1 407」
- 25. 在C#中實現SSL隧道#
- 26. 在C++中使用SSH隧道到MySQL
- 27. Xampp,Apache和SSH隧道
- 28. 調諧和如何隧道
- 29. Box2D和滯後隧道
- 30. 隧道事件和ContextMenu
+1。嘗試使用Fiddler來查看它提供的是否足夠,如果它比在C#中相對容易實現它,否則 - 正如Dai指出的那樣 - 您需要在堆棧的更深層上使用代碼,並且C#不太可能被接受那裏。 –
@Alexei Levenkov謝謝,但Fiddler不是開源的,所以我可以從中學習。 –
@戴謝謝,但我沒有在C#中找到一個開源的SOCKS代理。 Firefox可以配置爲使用DNS的SOCKS。 –