好的,所以首先我对HTTP几乎一无所知,因此,如果我有误解,请更正我。
背景:
有一个网站禁止我发布。没什么好奇怪的,我只是一些当地政客的“不便之人”。问题是,虽然我可以使用任何IP浏览该网站,并且可以使用其他IP发布帐户中的消息,但是如果我尝试通过自己的IP发布,则我的帖子将被拒绝(只是进入太空,永不返回)自己的IP。
这使我认为他们的防火墙或他们的应用程序中的某些内容阻止了我发布。 (我已经成功地使用开放式代理从家用计算机上解决了这个问题,但是可用的开放式代理不可靠,并且通常是粗略的,并不是一个很好的解决方案。)
解?
我想编写一个我希望使用C和原始套接字在我自己的计算机上运行的相对简单的代理。我希望使用FoxyProxy之类的东西来引导流量直接到该本地代理,或从该本地代理直接引向该网站。我希望编写代理就像在传出(发布)数据包上替换随机IP一样简单。这是正确的吗?服务器是否尝试“确认”帖子(由于它不是我的IP,该帖子永远不会返回我)还是会发布?
另外,为了区分网站上的正常浏览流量(这要求代理不执行任何操作)和发布流量,我认为我需要查看数据包以区分一种类型和另一种类型。大概容易区分吗?
任何有关相关材料的建议或指示都会很棒。如果我重新发明轮子,并且已经有代理这样做,那也很好,但是我有兴趣学习一些有关基本原理的知识。
谢谢你的帮助。
最佳答案
除了道德问题(即,如果这不是您的网站,那么您就没有内在的“权利”)之外,我认为您无法做到这一点。
TCP协议要求两个端点之间进行双向通信。如果您欺骗了源IP地址,那么您将失去双向通信,连接将失败。快速阅读有关TCP的Wikipedia条目肯定对您有用。代理工作的唯一方法是,如果它位于具有真正不同IP地址的其他计算机上。
最好的选择是与网站管理员讨论此问题。如果他们仍然不希望您参加,那么您只需要尊重他们的决定就可以离开。
针对以下Sean的评论:考虑一下。如果从技术上讲可以欺骗您的IP地址,您是否认为垃圾邮件发送者会麻烦来获取庞大的僵尸网络-畅通无阻的IP地址池-进行肮脏的工作?如果一项技术可以用于良好目的,那么它也可以用于不良目的。
我建议您采用“问责制”的方法,而不要采用任何技术手段。也就是说,如果这些人对您负责,则可以使用该责任来获得您想要的东西。如果他们不对您负责,那么您可能无能为力。