我使用的 PC 通过以太网电缆和调制解调器连接到互联网。我的朋友使用相同的调制解调器,但他通过 wifi 连接到互联网。但是,我不想对非法和受版权保护的下载负责,所以我想限制我的 wifi 上的 ThePirateBay 和 PopcornTV 等网站。简单来说,我想制作一个代理,这样当有人试图通过我的 wifi 访问这些网站时,将显示指定的消息而不是网站内容。
另外,为了防止非法上传,我想做一些类似批准测试的事情。当有人使用我的 wifi 上传文件或向服务器发送某些内容时,我想检查该文件或消息的 SHA-256。如果哈希被列入黑名单,则应拒绝(或修改后再发送)。
我不确定实现我想要的功能有多容易。我尝试在 Google 上搜索一些教程,但没有找到类似的东西。我没有问这是否可行,因为我知道这是可能的。调制解调器是物理对象,每条消息都应该通过调制解调器,因此应该有一种方法可以代理它。
如果可以只使用软件方法(更改家庭网关内的一些参数),那就最好了。如果没有内置选项,是否有调制解调器模拟器?如果有其他想法,我将不胜感激。
编辑
我的问题重点不是如何检查某条消息是否被列入黑名单或如何修改其哈希值。这些只是示例,因此请不要抱怨尝试通过哈希值检查文件是不切实际的。主要问题是在将数据发送到服务器之前如何检查/修改来自用户的请求。
答案1
您想要做的事情并不是特别实用,部分内容甚至可能在理论上不实用,但我认为您问错了问题。
您遇到的第一个问题是“调制解调器”实际上不是调制解调器,而是内置调制解调器的路由器。这意味着当您的朋友连接时,流量不会穿过您的 PC。为了使其穿过您的 PC,您要么需要修改硬件设置以通过您的 PC 和另一个接入点,要么拦截路由器上的流量。如果您有标准的消费级路由器,这几乎是不可能的 - 除非您可以运行 DD-Wrt、Tomato 或类似产品,在这种情况下它非常困难。您需要意识到您正在谈论的事情也是 CPU 密集型的,并且您的路由器可能不够强大。
检查传输中文件的 SHA-256,虽然理论上可行,但实际上并不实用,除其他原因外,它会破坏流媒体和 TCP 连接。您的设备必须识别并下载整个文件,然后检查它,然后才能发送。这意味着长时间的延迟、大量资源的使用,并且会因为超时等而破坏 TCP 堆栈。此外,正如评论者所建议的那样,可以通过使用加密、压缩、字符集表示转换或许多其他方法轻松解决这个问题。
为了回答您的编辑 - 为了检查/修改请求,您需要在路由器上安装一个代理服务器 - 一个能够检查和修改数据的代理服务器。
话虽如此,我还是想说你的概念是有缺陷的。如果你想要阻止海盗湾和 Popcorn TV,你可能想要做的就是阻止 bittorrent 协议 - 这很简单。只需将传入和传出流量限制到与可接受服务相关的已知端口即可。这将破坏协议,因为它使用与你可以代理的事物不同的端口。这对路由器也很容易,因为它不需要代理等。[同样,这可能或不可能,取决于你的路由器。你有什么路由器?]