Internet网络浏览的监听、拦截和过滤-浅析GFW原理

我国网络界“和”风劲吹,GFW威力无边,网民不断抱怨网站被“墙”,这固然是制度、利益等政策性原因导致的,我们这里就不多言政治了,仅仅对相关技术问题探究一二。

据我所知,网络浏览的拦截无外乎下列三个方式:IP过滤、内容过滤和DNS劫持。这些过滤的前提就是浏览者“浏览”动作的相关IP报文均能被拦截者截获和分析。这一前提对于ISP来说是天然成立的。

先简单介绍一下一次浏览网页的技术流程。用户在终端上使用浏览器(IE、Firefox等)向网页服务器(例如IIS、Apache等等)发出一个HTTP协议的请求报文(一般是一个HTTP的GET或POST请求),这个请求报文中指明了浏览器想要获取的网页内容,网页服务器收到这个请求后把相应访问结果以HTTP响应的方式发回给浏览器(例如状态码200表示成功,404表示网页不存在,等等类似的一系列状态),而且如果是可正常处理的访问请求,就把用户请求的网页内容(一般就是HTML字符串)发送回用户的浏览器,浏览器收到之后,将HTML字符码解释后以网页的形式呈现在用户面前。当然,这一系列HTTP协议的交互是以TCP连接为通道通信的,TCP连接的建立和维护是这一切的基础和前提。

假如用户终端和网页服务器的TCP连接通道之间存在防火墙等类似的设备,这些设备就可以截获这个TCP连接的建立,乃至其上承载的HTTP交互动作,用户和服务器之间的任何HTTP通信都没有秘密可言,防火墙可以决定整个浏览过程的各个方面。 Continue reading