假設客戶端A連接,雖然TCP/IP套接字到服務器B 是否有可能創建一個代理服務器一樣的東西要做到這一點:套接字代理服務器
客戶端A連接到代理X;並嘗試向服務器進行身份驗證(發送身份驗證數據);代理X接收這些數據並將它們發送到服務器B,並從服務器B獲得響應並將結果返回給客戶端A
是否有可能?如果它有任何可用的源代碼?
假設客戶端A連接,雖然TCP/IP套接字到服務器B 是否有可能創建一個代理服務器一樣的東西要做到這一點:套接字代理服務器
客戶端A連接到代理X;並嘗試向服務器進行身份驗證(發送身份驗證數據);代理X接收這些數據並將它們發送到服務器B,並從服務器B獲得響應並將結果返回給客戶端A
是否有可能?如果它有任何可用的源代碼?
看起來像你在描述SOCKS。
Mentalis.org在C#中執行了ProxySocket,還執行了proxy server。
您可以使用SSH隧道進行此操作。有各種各樣的第三方產品會爲您做到這一點。我建議不要自己重新實現它。
如果您可以控制代理,則可以更改代理上使用的身份驗證模塊以針對服務器B進行身份驗證。您必須注意一些安全問題,以確保X和B都是可信的。您可以使用相互認證的SSL或簽名消息來完成此操作。
這種認證被ISP廣泛使用。他們正常使用是RADIUS協議,
http://en.wikipedia.org/wiki/RADIUS
大部分代理服務器都內置了RADIUS身份驗證模塊。
DeleGate可用的源代碼可以設置一個「中繼」,其中所有數據都從本地機器上的任意端口傳遞到某個任意主機:端口。 (見"tcprelay" command in the docs)。
我需要自己實現它,因爲我需要嗅探一些數據包之間 – EBAG 2009-12-08 22:48:38