我正在尝试在 java 中实现 Web Anonymizer(如 ktunnel),但我真的无法理解,我需要一些关于 Web Anonymizer 如何工作的信息。我真的不需要源代码或示例应用程序,只需要解释匿名器想法的想法或教程。谢谢。
问问题
1653 次
2 回答
2
基本匿名器仅充当加密代理,在代理服务器和客户端之间创建加密“隧道”,来自客户端的所有流量都通过代理。这完成了 3 件事:
- 客户端不能*通过查看代理和端点之间的流量来确定。另一端的主机只看到代理服务器。
- 客户端流量的内容不会被监控,因为与代理的连接是加密的。
- 不可能*确定来自客户端的流量的端点,因为所有流量似乎都只流向代理。
*实际上,简单的匿名器并不能提供全面的保护,因为如果您查看客户端和代理之间的流量,以及代理和各个站点之间的流量,您可以将特定客户端与其流量相关联。这称为流量分析。
更高级的匿名器,例如 Tor,提供针对流量分析的保护和许多其他破坏匿名性的技术,但这确实超出了问题的范围。
从您的角度来看,重要的是编写代理软件。您的程序应该能够创建和管理与客户端的加密连接。这意味着它需要能够(安全地)启动与主机的加密连接,将连接传递给外部主机,然后来回传递流量。基本上,它需要充当路由器。
有一些协议可以实现这一点——我建议你阅读 SOCKS 协议或 Tor。如果这是一个学习项目,最好的选择是编写基本的 SOCKS 代理软件。如果这是为了实际使用, Java 中应该有提供必要服务的库。
编辑:Ktunnel 是一个不那么花哨的代理——它使用 CGI 脚本来来回重定向来自 URL 的信息。基本上,您输入一个地址,它会获取该地址的页面,然后将其发送给您。其实很简单。
于 2009-12-20T21:54:18.673 回答
0
我不知道 ktunnel,但有关匿名网络的基本信息,请查看wikipedia 上的 Tor。
于 2009-12-20T21:25:57.743 回答