目录
-
- [1.5 面对攻击的网络](#1.5 面对攻击的网络)
-
- [1.5.1 怎么把**恶意程序**放进你的电脑?](#1.5.1 怎么把恶意程序放进你的电脑?)
- [1.5.2 怎么攻击服务器和网络基础设施?------DoS / DDoS](#1.5.2 怎么攻击服务器和网络基础设施?——DoS / DDoS)
- [1.5.3 坏家伙能"偷偷旁听"你的分组 ------ 嗅探攻击](#1.5.3 坏家伙能“偷偷旁听”你的分组 —— 嗅探攻击)
- [1.5.4 坏家伙能"假装是别人"------IP 欺骗和身份伪装](#1.5.4 坏家伙能“假装是别人”——IP 欺骗和身份伪装)
- [1.6 计算机网络和因特网的历史](#1.6 计算机网络和因特网的历史)
-
- [1.6.1 分组交换的发展(1961--1972)](#1.6.1 分组交换的发展(1961–1972))
- [1.6.2 专用网络和网络互联(1972--1980)](#1.6.2 专用网络和网络互联(1972–1980))
- [1.6.3 网络的激增(1980--1990)](#1.6.3 网络的激增(1980–1990))
- [1.6.4 因特网爆炸:20 世纪 90 年代](#1.6.4 因特网爆炸:20 世纪 90 年代)
- [1.6.5 最新发展(2000 年以后)](#1.6.5 最新发展(2000 年以后))
1.5 面对攻击的网络
现在互联网已经变成大家生活、工作、政府、学校都离不开的基础设施,但只要有网络,就有"坏人"想搞破坏:
- 偷你的隐私(密码、身份证号、银行卡......)
- 让你依赖的服务瘫痪(网课上不了、网银打不开、公司业务停摆)
- 冒充别人骗你钱、骗你信息
这一节就是先做一个"安全预告片",告诉你:
网络世界有什么典型的攻击方式,后面章节才会讲怎么防御。
1.5.1 怎么把恶意程序放进你的电脑?
关键词:恶意软件 malware、病毒 virus、蠕虫 worm、僵尸网络 botnet
1. 为什么你的电脑会被恶意软件感染?
因为你上网会做:
- 浏览网页、刷视频、刷微博/小红书
- 收发邮件
- 下载软件、点各种链接、插 U 盘......
这些正常的"好东西"里,有时会混进"坏东西"------
只要你点错、打开错文件,它就趁机安装到你设备上,这类带恶意目的的软件 统称为 恶意软件(malware)。
一旦感染,它可以干很多坏事,例如:
- 删除或破坏你的文件
- 偷你的密码、身份证号、银行卡号
- 暗中录键盘、截屏
- 在后台接收黑客命令,让你的电脑"悄悄帮他干活"
2. 僵尸网络(botnet)是啥?
如果坏人控制了成千上万台被感染的电脑,就像:
一个人偷偷当了"几十万电脑的老板",它们都听他的。
这些被控制的电脑叫肉鸡 / 受控主机 ,一大群肉鸡组成的网络叫 僵尸网络 botnet。
黑客可以让这些肉鸡集体去:
- 群发垃圾邮件
- 对某个网站一起发动攻击(DDoS,下面会讲)
所以有时候你电脑很慢、风扇狂转、网络很卡,可能就是在帮别人干坏事还不自知。
3. 多数恶意软件是"自我复制"的
书里说:self-replicating 自我复制,就是说:
一旦感染一台主机,它会自己想办法"再去感染别的主机"。
这样坏软件就能像病毒一样越传越多,非常难收拾。
常见两种形式:
(1) 病毒(virus)
- 特点:需要人为"触发"
- 比如藏在一个带恶意代码的附件/程序里:
- 你下载一个"XX 破解工具.exe",双击运行;
- 里面的恶意代码就开始干活;
- 它可能把自己再复制到其他文件里,或者附着在其它程序上。
类比:
病毒更像"附着在文件上的毒药",只有你喝下去(执行文件)才会发作。
(2) 蠕虫(worm)
- 特点:不需要你点,它自己在网络里传播
- 典型场景:
- 有一个系统漏洞,没打补丁;
- 蠕虫扫描网络,一旦发现某台机器有这个漏洞,就远程利用它、把自己复制过去,再从那台继续扩散。
类比:
蠕虫像会自己爬的虫子,到处钻墙缝,只要墙有洞(漏洞)它就能钻进去。
病毒 vs 蠕虫:一句话记忆
- 病毒:需要"你"运行带毒程序才发作;
- 蠕虫:自己在网络里主动找"没打补丁"的机器入侵。
1.5.2 怎么攻击服务器和网络基础设施?------DoS / DDoS
1. 什么是 DoS 攻击?
DoS(Denial of Service)= 拒绝服务攻击
目标:不是把服务器"黑进去",而是:
把服务器或网络搞到"忙死 / 堵死",
让正常用户用不了服务,产生"服务不可用"的效果。
常见攻击目标:
- Web 服务器(网站)
- 邮件服务器
- DNS 服务器
- 各种网络设备(路由器、防火墙......)
只要把关键服务打趴下,整个网站、公司、甚至国家的一些业务就可能瘫痪。
2. 三种主要 DoS 手段
书里列了三类:
(1) 弱点攻击
- 向某个有已知漏洞的程序/操作系统发送"精心构造的报文";
- 程序没处理好这种特殊报文,就会崩溃、死机或重启。
类比:
有人知道你手机有个输入某种表情就会闪退的 bug,于是疯狂给你发那个表情,把你搞得一直闪退。
(2) 带宽洪泛(bandwidth flooding)
- 攻击者向目标发送巨量分组,把目标到网络之间那条链路占满;
- 结果是:合法用户的分组塞不进去→ 用户访问不了服务。
类比:
高速路被一群坏人开的车故意占满车道,普通人根本上不了高速。
(3) 连接洪泛(connection flooding)
- 攻击者不停地和目标服务器建立大量的半开/全开 TCP 连接;
- 服务器的连接资源有限,这些假连接占满位置后,真实用户就连不上了。
类比:
一个海底捞店有 50 个号位,有人用假手机不断排号占满座位,你却一直排不上。
3. 单点 DoS vs. 分布式 DDoS(图 1-25)

如果只是一台机器在攻击:
- 攻击带宽有限,上游路由器可能会很快发现这台机器很异常,直接把它拦掉。
但如果攻击者控制了一大堆"肉鸡"(僵尸网络):
- 让上千台受控主机一起向目标发流量
- 每台的流量不一定非常夸张,但加起来巨大
- 源地址分散在全世界,很难区分哪些是真用户、哪些是"肉鸡"
这就叫 分布式拒绝服务攻击(DDoS),图 1-25 就是这个场景:
攻击者 → 控制很多受控站点 → 这些站点一起向受害者猛发流量
DDoS 比单台 DoS 更难检测、防御,是现实中非常常见的一种大规模攻击。
1.5.3 坏家伙能"偷偷旁听"你的分组 ------ 嗅探攻击
1. 嗅探器能干嘛?
场景:
- 你在咖啡馆连了公共 WiFi;
- 如果有人在旁边放了一台"被动的接收设备",
它就能悄悄收到通过这个无线信道的每一个分组的副本。
这些分组里可能有什么?
- 登录账号、密码
- 身份证号、银行卡号
- Cookie、会话令牌
- 各种隐私信息......
这个被动接收设备 + 嗅探软件就叫 分组嗅探器(packet sniffer)。
关键点:
它是"被动监听",不往外发包,只是默默"旁听",因此很难被发现。
2. 在有线环境也可以嗅探
- 很多传统 LAN(局域网)是广播式 的:
- 一个分组发在局域网上,所有主机都能"收到",只是正常主机不会乱看。
- 如果坏人把嗅探器接在某个集线器端口上,就能收到这整个 LAN 上的所有分组副本。
所以:
只要某人有权限接入到你所在的那条链路/路由器,就有机会偷偷记录流经那里的所有分组。
网络课中常用的抓包工具 Wireshark ,本质上就是一个合法的分组嗅探器,
老师会用它做实验,分析协议,并不是真的拿来偷别人数据。
3. 怎么防?
书这里只是抛一个概念,具体防御会在后面讲密码学与安全:
- 对敏感数据加密传输(HTTPS、WPA2/WPA3 等)
- 这样嗅探器即便抓到了分组,也只能看到一堆看不懂的密文。
1.5.4 坏家伙能"假装是别人"------IP 欺骗和身份伪装
1. IP 欺骗是啥?
在理论上,攻击者可以构造一个分组:
- 里面的源 IP 地址是假的(比如伪装成银行服务器的 IP)
- 发送到网络上后,对方看见这个分组,会以为真的是那台机器发来的
这叫 IP 欺骗(IP spoofing)
就像有人伪造快递单,把寄件人写成"某官方机构",让你以为是真官方寄来的。
IP 欺骗只是"伪装成其他用户"的众多方式之一。
2. 为什么需要"端点鉴别"?
为了避免"我不知道你是谁还要跟你通信"的情况,需要一种机制:
让通信双方确认:
"你真的是你说的那个人 / 那台主机。"
这就叫 端点鉴别(authentication),比如:
- 账号密码登录
- 验证码、短信
- 数字证书(HTTPS 里用到)
- 数字签名 等等
后续章节会详细讲这些东西如何配合网络协议使用。
3. 互联网一开始为什么这么不安全?
书最后说了一句很关键的话:
互联网最早是按照"大家互相信任"的模型设计的。
默认任何用户发分组都是善意的,安全性不是设计重点。
但如今:
- 有垃圾邮件
- 有 IP 欺骗
- 有中间人攻击
- 有 DDoS
- 有恶意软件......
所以现代网络必须在"原本没考虑安全"的协议基础上,加各种安全机制 :
比如 HTTPS、VPN、防火墙、入侵检测、防 DDoS 系统等等。
1.6 计算机网络和因特网的历史
1.6.1 分组交换的发展(1961--1972)
1. 那时候的世界:电话网是老大
- 20 世纪 60 年代初,全世界的通信主力是电话网络。
- 电话网采用的是"电路交换 ":
- 打电话时,先为你们两人"独占"一条从这头到那头的线路;
- 你说话期间,这条线路一直被你们占着,别人用不了;
- 挂断后线路才释放。
对"人说话"很合适,但对计算机传数据 就很浪费:
计算机传输通常是"突发一下、停一会儿再传",线路很多时间是空闲的。
问题:能不能有一种机制,让很多用户共享同一条线路,不用像电话那样"一个人霸占一条线"?
2. 分组交换的核心想法
这时,一些研究者提出了一个革命性点子:分组交换(packet switching)。
简单说就是:
不再给每个通信双方"独占一条线",
而是把要发的数据 切成一个个小包(分组) ,
这些分组在网络里像"快递包裹"一样,
排队、转发、共享链路带宽。
好处:
- 多个用户可以同时使用同一条线路------谁有数据谁上
- 链路利用率高得多
- 更适合计算机那种"突发式"的传输
书里提到几个关键人物(名字可以不用死记):
- Kleinrock:做排队论,用数学证明"分组交换"在理论上是可行、有效的。
- Paul Baran 、Donald Davies:从工程角度提出并研究分组交换网络的实际设计。
3. ARPANET 的诞生:第一个真正的分组交换计算机网络
美国国防高级研究计划局 ARPA(现在叫 DARPA)资助了一系列项目,
搞出了世界第一个分组交换计算机网络:ARPANET。
- 1969 年,第一批 4 台主机 通过分组交换机(叫 IMP)连在一起:
- UCLA(加州大学洛杉矶分校)
- SRI(斯坦福研究所)
- UCSB(加州大学圣巴巴拉分校)
- Utah(犹他大学)
这就是互联网最早的"原型",相当于"四个学校连成了一个科研局域网"。
可以把 1960s--1972 看成:
"分组交换从理论想法 → 被真正造出来并跑起来"的阶段。
1.6.2 专用网络和网络互联(1972--1980)
这一阶段的关键词:更多网络出现 + 如何把不同网络连在一起 = 互联(internetworking)
1. 早期 ARPANET 的特点
- 一开始 ARPANET 是"单一封闭网络",只连着研究机构的主机。
- 不同主机间通信要依赖一个早期的主机协议 NCP。
1972 年左右,ARPANET 已经扩展到十几台主机,多所高校加入。
- 1972 年还发生了两件小事:
- 第一个网络控制协议 NCP 写成 RFC
- Ray Tomlinson 写出了第一版电子邮件程序(可以发邮件了)
2. 各种"专用分组网络"开始冒头
除了 ARPANET,世界各地开始出现各种"专门用途的分组网络",比如:
- ALOHA 网络:夏威夷的一个无线分组网络,用无线电把各岛的计算机连在一起,是后来以太网、WiFi 的重要灵感来源。
- 各种商用分组网络:Telenet 等,把 ARPANET 技术商用化。
- IBM、GE 等公司也有自己的专用网络体系。
整体上看:
大量"各自为政"的网络出现了 ------ 大家都有自己的协议、自己的网络。
3. 需要解决的新问题:网络与网络之间怎么互通?
这时大家意识到:
不能永远搞各家封闭网络,
需要一种机制,让不同网络之间能互相通信。
这就是后来 "Internet(互连网)" 的真正含义:
- 不只是一个网络,而是"网络的网络";
- 要有一组通用协议,让不同网络之间都能说话。
在这个背景下,TCP/IP 的雏形 出现了:
- 由 Vint Cerf 和 Bob Kahn 等人提出;
- 目的就是:让不同网络像一个统一的大网络一样运作。
1970s 的主线可以总结成:
"有很多专用分组网络 → 我们需要一种办法把它们连成一个更大的网"。
1.6.3 网络的激增(1980--1990)
这一节主要讲两件事:
- 连接到公共互联网的主机数量爆炸式增长
- TCP/IP 和 DNS 等关键协议标准化、普及
1. 主机数量从几百 → 几十万
- 70 年代末:大概有 200 台主机接入 ARPANET。
- 到 80 年代末:连到公共互联网的主机数已经接近 十万台。
这其中起重要推动作用的是一系列学术网络:
- BITNET、CSNET:把更多高校研究人员连起来。
- 最重要的是 NSFNET (美国国家科学基金会网络):
- 提供高速骨干,把很多大学和研究机构接入;
- 80 年代末主体速率到 1.5 Mbps,后来逐渐成为互联网骨干之一。
2. TCP/IP 成为"官方标准"
- 1983 年 1 月 1 日,ARPANET 统一切换到 TCP/IP 协议族 ,
标志着 TCP/IP 成为标准主机协议,替代早期 NCP。 - 同期还发展了非常关键的协议:
- DNS(域名系统) :
- 负责把像
gaia.cs.umass.edu这样的名字映射为 32 位 IP 地址。 - 解决"人记不住IP地址,只记得名字"的问题。
- 负责把像
- TCP 本身也在 80 年代得到改进(拥塞控制等)。
- DNS(域名系统) :
可以把 80s 看成:
"TCP/IP + DNS 成熟并占领了主流;互联网从科研网 → 面向更多机构的基础设施"。
同时,法国还搞了一个很有意思的东西:Minitel 系统(你可以把它当作法国版"早期上网终端 + 服务平台"),虽然在 90 年代后期逐渐被因特网替代,但在当时很成功。
1.6.4 因特网爆炸:20 世纪 90 年代
这一节对你最有感觉,因为跟"我们现在用的互联网"非常接近。
1. 90 年代初的一个大事件:NSFNET 解封商业化
- 之前的 NSFNET 主要用于学术科研,商业用途受限。
- 90 年代中期后,NSFNET 退出对公共互联网主干的直接运营,
商业运营商开始大规模提供互联网接入。
这为"互联网商业化"打下基础。
2. 真正改变世界的东西:万维网(WWW)
WWW 不是整个互联网,而是跑在互联网之上的一个"应用系统"。
关键要素:
- HTML:页面内容的标记语言
- HTTP:浏览器和 Web 服务器之间通信的协议
- URL:统一资源定位符,一种统一的地址表示方式
- Web 浏览器:给用户看网页的程序
这些东西由 Tim Berners-Lee 在 CERN 工作时提出,被称为 Web 的发明者。
之后几件大事:
- 1993 年左右:第一个带 GUI 的浏览器 Mosaic 出现,
让普通人也可以"点点鼠标就上网看网页"。 - 1994--1995:Netscape 公司推出浏览器,90 年代中期几乎所有学校、公司都在用 Netscape 或后来微软的 IE 浏览器上网。
- 90 年代后期:各种 Web 服务、网站、电子商务迅速兴起。
与此同时,出现了很多你耳熟能详的早期互联网应用:
- 电子邮件(本书前面已经提到)
- Web 浏览与搜索
- 即时通讯(早期聊天工具)
- P2P 文件共享(Napster 等)
3. 1995--2001:互联网泡沫
- 这段时间是"互联网创业公司狂飙"的阶段:
- 各种公司上线,靠讲"互联网故事"上市,估值巨大。
- 2000--2001 年泡沫破裂,很多公司倒闭;
- 但也留下了一批真正成功的巨头:
- 微软、思科、雅虎、eBay、谷歌、亚马逊等。
总之,90 年代是:
"Web + 浏览器 + 商业资本 → 互联网真正进入大众视野"的时代。
1.6.5 最新发展(2000 年以后)
这部分离你最近,说的是"现代互联网长成现在这个样子"的关键变化。
书里提了几个重要趋势:
1. 家庭宽带与视频时代
- 2000 年后,ADSL、电缆调制解调器、光纤等宽带接入普及。
- 下载/上传速度大幅提升,使得:
- YouTube 一类的"用户上传视频网站"成为可能;
- Netflix 一类的"在线视频点播"可行;
- Skype / Facetime / 视频会议等实时音视频应用兴起。
2. 无线 & 移动互联网
- 公共 WiFi、高速 3G/4G/5G 移动网络普及。
- 智能手机、平板的出现(iPhone、安卓手机、iPad 等),
让人们"随时随地上网"变成现实。
这直接催生了各种"基于位置的 App、移动社交、移动支付"等。
3. 社交网络的崛起
- Instagram、Twitter、微信(中国)等社交应用爆发:
- 把人和人连接起来,形成巨大的"社交图谱";
- 用户不仅是"消费者",也是"内容的生产者"。
- 通过它们提供的 API,很多新的联网应用和游戏也能"接入社交图谱",进一步增强黏性。
4. 在线服务、云计算
- 大公司(如 Google、Microsoft)部署了超大规模的数据中心:
- 搜索、邮箱、网盘、在线办公... 全部跑在云端。
- "云计算"平台出现(如亚马逊 EC2、微软 Azure):
- 企业不必自己买一大堆服务器,只需租云上的计算和存储。
- 这极大降低了互联网创业的门槛。
2000 年以后可以总结为:
"宽带 + 移动 + 社交 + 云"共同把互联网推向了一个无处不在、深度融入生活的阶段。