如何使用Python重新路由网络流量?

时间:2010-10-18 14:44:59

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

FreedomAnti-social等小型应用最近创建了stir。他们完全阻止你离开互联网,或者只是阻止社交网站,以阻止拖延,并帮助你在你真正想要完成一些工作时施加自我控制。

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

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

1 个答案:

答案 0 :(得分:2)

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