【问题标题】:How do I re-route network traffic using Python?如何使用 Python 重新路由网络流量?
【发布时间】:2010-10-18 14:44:58
【问题描述】:

FreedomAnti-social 等小应用程序最近创建了很多 stir。他们要么完全切断你的互联网,要么只是阻止社交网站,以阻止拖延,并在你真正想完成一些工作时帮助你发挥自我控制。

我查看了可用的选项以及一些 Google Chrome 扩展程序,并确定它们都没有完全按照我的意愿进行操作,因此我计划编写自己的小 Python 工具来实现这一点。我的第一个冲动是简单地修改/etc/hosts 以将请求重新路由到某些服务器回到localhost。但是,这只能阻止整个域。我需要根据正则表达式或简单的字符串匹配来阻止地址,以阻止 google.com/reader 之类的内容(是的,尤其是这个),但不是整个 google.com 域。

我可以使用哪个 Python 框架来监控我的网络流量并阻止列入黑名单的地址,实现我想要做的事情的基本设计是什么?我使用socket 库吗?我对 Python 很熟悉,但我对网络编程很陌生。

【问题讨论】:

  • 希望看到它与番茄技术工具集成!
  • 你想在什么平台上做这个?
  • Unix/Linux 类型(我自己有 Mac OS X)。不过,如果有一个自动跨平台的 Windows 解决方案,那就太好了。

标签: python networking tcp network-programming social-networking


【解决方案1】:

既然你对 python 很熟悉,我会直接推荐twisted。它比其他一些库稍微难一些,但它经过了良好的测试,具有出色的性能和许多功能。您只需实现一个小型 HTTP 代理并对 URL 进行正则表达式过滤。

【讨论】:

  • 如果我通过代理执行此操作,我不是总是必须通过该代理进行连接吗?通过简单地禁用代理来绕过它也不应该太容易。
  • 好吧,如果您连接到一个进程,而该进程本身又连接到真实服务器,那么这就是定义上的代理。容易与否,你应该定义你想要什么。每个要解决的问题都需要一些领域知识,如果不通过代理,您将如何尝试解决问题?
猜你喜欢
  • 1970-01-01
  • 2021-02-18
  • 2014-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-10
  • 1970-01-01
  • 2023-03-17
相关资源
最近更新 更多