当前位置: 首页 > news >正文

从爬虫到网络---<基石3> gfw防火墙是怎么保护我们的?

第一部分:什么是GFW,为什么它要拦住我们和'谷歌'的连接?

1. 什么是“防火墙”?

        你可以把“防火墙”想象成网络世界里的一个超级大门卫。本来,互联网是一个大操场,大家可以自由交流。可有些地方,为了各种理由,需要控制进出信息,这时候就得有个“把门儿的”——这就是“防火墙”。

全球很多国家、地区的企业或组织,都有自己的“网络防火墙”来保护数据或限制访问。GFW(Great Firewall)中文全称叫“CN国家互联网信息隔离系统”,俗称“防火长城”,就是CN特有的一套超大规模的网络过滤系统。

2. 为什么要拦住谷歌这样的国外网站?

这就涉及到网络主权、内容监管、安全合规等等。cngv认为,有一些国外网站(比如谷歌、YouTube、脸书)中包含的内容不符合国内互联网法律法规,于是就通过GFW这套技术防线来加以拦截和过滤。

比如谷歌,除了搜索引擎,还涉及邮箱、翻译、地图、云端等诸多服务。考虑到其中有大量不可控的信息流和技术透明度问题,于是官方就采取了“物理隔离+技术管控”的手段,直接把我们和谷歌的“连线”给掐断了。


第二部分:访问谷歌的普通流程

要搞明白GFW怎么“拦”,咱们得先搞明白普通情况下,计算机是怎么和谷歌连接上的。你可以把这看成一次“从家打到国外亲戚家电话”的过程:

  1. 输入网址:你在浏览器地址栏里输入“www.google.com”
  2. DNS域名解析:计算机会先问“www.google.com”这个名字对应的IP地址是什么(就像问“我亲戚手机号码是多少?”)
  3. 拿到IP后发请求:得到了IP后,计算机就用这个地址去“拨号”,发起连接
  4. 握手建立连接:双方要先“打招呼”,建立一个HTTPS的加密通道
  5. 数据正式传输:你可以收发邮件、查资料、看地图了

整个流程每一步,GFW都可以下手。下面每个环节咱们都细说。


第三部分:GFW的“阻断”大招,你一定要熟悉的几大拦截节点

GFW怎么做到万无一失?

GFW跟一个多层安保似的。它不是只靠一道“门”,而是靠一堆“机关”——DNS污染、IP黑名单、协议层阻断、TLS“SNI”监控、流量分析、关键词特征检测……甚至还有“主动检测机器人”不定期来“钓鱼”,看看谁在尝试翻墙。

它们就是专门用来盯着我们和诸如谷歌等“被墙”网站之间的所有“通信路径”。你以为从门口过不去,钻窗户能行?不好意思,窗户也上了栅栏,洞口还塞了保安。


举个简单例子:

比如你打算访问谷歌,GFW就像“耳朵灵、腿脚快、爱琢磨”的门卫,从最早的“查你电话号码”(DNS)、到“查电话归属地”(IP)、到“窃听你打招呼用的话术”(TLS/SNI)、再到“分析你在说什么话”(关键词过滤)——总有办法在某个环节,把你的“连线”拦住。

你偶尔换点新花样,它也时不时升级——非常较劲。


第四部分:DNS污染/劫持——最早的拦截

DNS相当于互联网的“翻译官”,你输入网址,它帮你找门牌号(IP)。当你输入“www.google.com”,其实你是在问“谷歌的服务器在哪里?”

这时GFW第一招就来了:DNS污染。

怎么污染DNS?

打个比方,你问“谷歌公司在哪?”本该有人告诉你一个真实的地址。但GFW会主动“截走”这个问题,给你报一堆“假地址”——有时候是“0.0.0.0”,有时候根本就是“127.0.0.1(你自己家)”,有时候是腾讯、阿里等国内大厂随便一个服务器的IP。

这么操作的结果,是你根本找不到谷歌的“正门”在哪。你以为到了谷歌门口,其实进的却是“自家大院”。

还会针对DNS请求内容下手

有些朋友很机灵,直接用“8.8.8.8(谷歌公开DNS)”试试。抱歉,GFW在出口路由器也会特意查你问的是不是“敏感域名”,只要发现你问“google.com”相关的域名,立刻给你个“假答复”——DNS污染就发生了。

举例说明:

你在家用电脑敲下:

nslookup www.google.com 8.8.8.8

结果出现在屏幕上的,常常根本不是谷歌的真实IP,而且还时常变。


第五部分:GFW出手的关键节点和手段概述

1.咱们先整体把GFW的“拦截链路”走一遍。

想象你在中国大陆的一台电脑上输入www.google.com。你期待的流程大致是:

  1. 先发个DNS请求,问“www.google.com这个域名对应啥IP地址?”
  2. 拿到谷歌服务器的IP后,发起TCP连接,想和谷歌聊聊天(用HTTP/HTTPS等协议)。
  3. 数据一来一往,页面就刷出来了。

但现实呢?
GFW几乎在每一步都给你设了“机关”!

  • DNS请求时,GFW可能直接“下毒”——把域名解析结果给你污染成无效IP、错的IP,甚至是指向某个陷阱服务器的IP。
  • IP地址阶段,如果你机智地知道正确IP,GFW干脆把谷歌的IP段全封了,你看得到门但永远进不去。
  • 流量传输阶段,无论是HTTP还是加密的HTTPS流量,GFW都有办法分析你的流量特征,发现你是在“翻旧账”连谷歌了,直接把连线一刀切断。
  • 高级识别手段,比如说TLS握手阶段拿“指纹”一比对,或看SNI(Server Name Indication)字段里的域名,查到你要去谷歌,又给你拦下来。

GFW基本就是技术与人力双保险,像个“网络大门神”,盯着中国用户和外部世界的动静。


2. DNS污染与域名劫持:第一道防线

咱们先说说“DNS污染”。

DNS请求是怎么被下毒的?

DNS,全称“Domain Name System”,就是把你记得的域名(比如google.com)翻译成电脑认识的IP地址(比如142.250.206.206)的系统。正常流程是你发出DNS请求后,DNS服务器给你返回正确的IP。

但在中国,大部分“出国”的DNS请求都要经过GFW这道关卡。

  • 场景一:你用普通的国内DNS服务器(比如运营商自带的),这些服务器干脆就已经配置好,遇到某些敏感域名直接回的是假IP,“毒”就藏在DNS服务器本身。
  • 场景二:你想聪明点,直接用8.8.8.8(谷歌DNS),希望它能跳出“本地限制”。GFW这时会在网络核心层监听到你发去8.8.8.8的DNS查询,然后偷偷地、飞速地给你塞回一个假的DNS响应,甚至比真服务器还快!你收到的IP就是错的,要么是不存在的,要么是某个黑洞IP——这样,不管你怎么连,都是废流量。

举个生活中的例子
就像你想问“村口的老大爷,市里公交路线咋走”,可惜这个大爷被指令,只要你一问,立刻给你瞎指。你信了“假路线”,最后肯定迷路。

域名劫持的延伸危害

DNS造假不仅影响访问,甚至还有更大的安全隐患。有些高级的攻击方式是,把你引到钓鱼网站(比如假谷歌登录页),骗取你的账号密码。所以说,DNS污染本身就是安全领域的“大杀器”。


3.IP封锁:精准打击谷歌服务器

有些人想机灵一点,觉得:“既然DNS会被污染,我直接用谷歌的真实服务器IP连过去行不?”

理论上你想得没错,不过GFW几十年前就料到你要“绕路”。怎么破?干脆直接封IP!

IP封锁是如何运作的?
  • GFW掌握了一长串的“黑名单IP”——这包括了谷歌所有的官方服务IP,以及相关的CDN、云服务段。
  • 当你任何流量被检测到目标IP在这个黑名单上——无论是HTTP、HTTPS、FTP还是其它协议,GFW都能阻断。
  • 具体表现为:网络直接连接超时,要么这里TCP三次握手被“重置”(发个RST包),要么完全没回应。

举个简单例子

这像什么?你就想订一台快递去国外,但快递公司(GFW)早把所有“敏感目的地”的地址包装上了警报——一发现目的地是“谷歌总部”,直接把包裹扔进垃圾桶,你永远收不到到货提醒。

不仅是谷歌,连CDN都可能遭殃

2022年以后,连Cloudflare、Akamai这种巨头的IP段也会波及,甚至有时候只是因为上面托管了“敏感网站”,整个段就有可能被连坐。这样做,影响面很广,但GFW宁愿“杀错、不放过”,安全第一位。


4. HTTP/HTTPS流量识别与阻断:再给“拦”上一道保险

DNS和IP封了还不够,因为有些服务很“狡猾”会变换IP、用CDN跳转,GFW于是得再上“流量识别与阻断”。

HTTP协议拦截——明文时代的“抓包大法”
  • 早年HTTP协议都是明文传输,GFW直接在网络核心“读包”,看你请求的Host字段,如果是“google.com”这样的敏感内容,直接就给你断掉连接。
  • 这就像隔壁老王在小区门口,翻你快递包裹地址,“一看是国外的,扔到一边”,毫不犹豫。
HTTPS协议来了,GFW怎么办?
  • HTTPS 加密了内容,GFW不能直接看到里面的东西,但它还是能从握手过程中(比如SNI)拿到你要访问的域名。
  • 一旦识别出你是冲着谷歌来的,就算看不到你包裹里装的啥,也还是能“拆信封”防止你送达。

升级打法:主动断开加密连接

  • 有时GFW甚至会插手TLS握手阶段,强行插入“Connection Reset”(RST包),让你的连接还没开始就直接阵亡。

7. TLS指纹识别、SNI拦截:堵住各种“旁门左道”

有些技术宅,会玩出花样:自己开发一套TLS库、DIY一些罕见的客户端配置,看能否混淆GFW的检测。GFW当然也跟着升级,研究各种“握手指纹”和“服务名”。

TLS指纹识别
  • 每个浏览器、操作系统发起TLS连接时,都有独特的“握手指纹”——比如用哪些加密套件、顺序、参数等。这些指纹会被GFW收集整理,一发现某些特定指纹极有可能就是翻墙工具、一看就是访问谷歌的专用客户端,这时候,GFW就能实现定点精准拦截。
  • 这就像警察在检票口看你穿着、背包和走路姿势,一眼就知道你跟普通旅客不一样,那保安自然会重点关注。
SNI(Server Name Indication)拦截
  • 在TLS握手阶段,SNI字段会暴露出你要访问的实际域名,比如“google.com”。哪怕其他内容被加密,这一行“门牌号”是明文。
  • GFW专门盯着SNI,凡是谷歌系的、不在“白名单”里的,直接网络一刀切。
典型连锁反应
  • 有时候你会看到,Chrome浏览器访问没法访问谷歌,但某些老客户端还可以——这类“猫腻”,大多是因为GFW尚没分析到新的TLS指纹,随着一次次升级,这类灰色地带也会被逐步封死。

8. 流量分析与主动探测(主动探测机制)

GFW可不是被动拦截那么简单,它还有一招叫主动探测

主动探测是什么意思?
  • 当GFW在流量中检测到一些疑似绕过工具、翻墙端口、怪异的协议特征,会主动发起请求,来确认这个IP和端口是不是“在搞事情”——比如模拟你发更深一层的请求,伪装成用户上谷歌试探性访问。
  • 一旦确认是翻墙、代理或敏感内容,GFW可能会自动添加进“黑名单”,实现快速围堵。

生活中的比喻
就像小区里的保安发现你总深夜鬼鬼祟祟,他会专门派人蹲点,甚至上门敲门打探下你到底是不是搞传销的。


下一篇,后面我们还会详细讲讲:

  • GFW如何应对DoH/DoT等新协议的挑战
  • 实际网络访问案例分解
  • 绕过防火墙的常见办法
  • GFW的技术演进和未来趋势

http://www.xdnf.cn/news/252865.html

相关文章:

  • Linux系统:进程程序替换以及相关exec接口
  • CMake separate_arguments用法详解
  • Trae 安装第三方插件支持本地部署的大语言模型
  • Matlab自学笔记
  • 姜老师MBTI人格分析课程2:ENFP
  • 标准解读:《制造业质量管理数字化实施指南(试行)》【附全文阅读】
  • 个人健康中枢的多元化AI软件革新与精准健康路径探析
  • #以梦为楫,共航中医传承新程
  • CPU:AMD的线程撕裂者(Threadripper)和霄龙(EPYC)的区别
  • C++八股--three day --设计模式之单例和工厂
  • UE运行游戏时自动播放关卡序列
  • 深度学习笔记40_中文文本分类-Pytorch实现
  • 大数据面试问答-数据湖
  • 阿里云服务器 篇五(加更):短链服务网站:添加反垃圾邮件功能
  • 多模态大语言模型arxiv论文略读(五十五)
  • Python爬虫实战:获取好大夫在线各专业全国医院排行榜数据并分析,为患者就医做参考
  • sys目录介绍
  • C++11新特性_标准库_正则表达式库
  • 数据分析_问题/优化
  • Mysql数据库之基础管理
  • 基于SpringBoot的药房药品销售管理系统
  • 深入解析C++11委托构造函数:消除冗余初始化的利器
  • Webug4.0靶场通关笔记13- 第22关越权修改密码
  • 从此,K8S入门0门槛!
  • Qt QGraphicsScene 的用法
  • openEuler 22.03 安装 Mysql 5.7,RPM 在线安装
  • C++ - 数据容器之 list(创建与初始化、元素访问、容量判断、元素遍历、添加元素、删除元素)
  • 父子组件双向绑定
  • ElasticSearch深入解析(八):索引设置、索引别名、索引模板
  • Windows配置grpc