跳转至

计算机网络概述

计算机网络概述

本章导读:本章从网络通信的本质出发,系统梳理计算机网络的核心概念、通信要素、数据封装机制,以及安全测试视角下的关键关注点。理解网络基础是后续学习协议分析、渗透测试的前提。

网络通信的本质与演进

计算机网络的核心目标是实现不同计算设备之间的数据交换与资源共享。随着通信规模扩大,技术关注点从简单的数据准确性逐步扩展到性能、可靠性和安全性。

通信规模 典型场景 核心关注点 关键技术
点对点 两台设备直连 数据准确传输 串口通信、调制解调
局域网(LAN) 办公室、家庭、校园 性能与可靠性 以太网、Wi-Fi、交换机
广域网(WAN) 跨城市/国家 吞吐量与延迟 光纤、路由器、MPLS
互联网(Internet) 全球范围 传输效率与安全性 TCP/IP、DNS、防火墙、CDN

网络通信的必备要素

任何网络通信都需要以下基础设施协同工作:

网络接口(Network Interface)

  • 网卡(Network Interface Card, NIC)是计算机与网络的物理接口

  • 网卡拥有唯一的 MAC 地址(Media Access Control Address,48 位,6 组十六进制数,如 00:1A:2B:3C:4D:5E),用于局域网内设备识别

  • 网卡驱动程序负责将操作系统数据帧转换为物理信号(电信号/光信号/无线电波)

传输介质(Transmission Medium)

  • 双绞线:分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP),常见 Cat5e/Cat6/Cat6a,传输距离约 100 米

  • 光纤:单模光纤(长距离、高速)和多模光纤(短距离、低成本),抗电磁干扰能力强

  • 无线介质:Wi-Fi(2.4GHz/5GHz/6GHz)、蓝牙、蜂窝网络(4G/5G)

网络设备(Network Devices)

  • 集线器(Hub):物理层设备,广播所有数据到所有端口,已淘汰

  • 交换机(Switch):数据链路层设备,基于 MAC 地址转发数据帧,支持 VLAN 划分

  • 路由器(Router):网络层设备,基于 IP 地址进行路由选择和数据包转发,连接不同网络

  • 防火墙(Firewall):过滤进出网络的数据包,基于规则集(ACL)进行访问控制

  • 网关(Gateway):协议转换设备,连接不同架构的网络(如内网与外网)

  • 网闸(GAP):物理隔离设备,通过"摆渡"方式实现内外网数据交换,用于高安全场景

通信协议(Communication Protocol)

  • 协议是通信双方必须遵守的语法、语义和时序规则集合

  • 网络协议分层设计,每层只关注特定问题,层间通过接口交互

数据封装与解封装

数据在网络中传输时,会经过逐层封装(发送端)和解封装(接收端)的过程:

发送端(自上而下):
应用层数据 → 传输层头部(TCP/UDP) → 网络层头部(IP) → 链路层头部(MAC) → 物理信号

接收端(自下而上):
物理信号 → 链路层头部剥离 → 网络层头部剥离 → 传输层头部剥离 → 应用层数据

每一层添加的头部信息称为协议头(Protocol Header),包含该层所需的控制信息。例如:

  • 传输层头部包含源端口、目的端口、序列号、确认号

  • 网络层头部包含源 IP、目的 IP、TTL(生存时间)、协议类型

  • 链路层头部包含源 MAC、目的 MAC、类型字段

安全测试关联点

网络设备漏洞

网络设备(路由器、交换机、防火墙、VPN 网关等)是网络的基石,其安全性直接影响整个网络的安全态势。

常见漏洞类型

  • 默认/弱口令:出厂默认账号密码未修改(如 admin/admin、root/root、设备型号作为密码)
  • 固件漏洞:设备操作系统(如 Cisco IOS、Juniper JunOS)存在缓冲区溢出、命令注入等漏洞
  • 配置缺陷:SNMP 社区字符串为 public/private、Telnet 明文传输、管理接口暴露于公网
  • 后门与未公开接口:部分设备存在硬编码账号或调试接口

安全测试方法

  • 使用 Nmap 扫描设备开放端口和服务版本(nmap -sV -O <target>
  • 利用 Shodan、Censys 搜索暴露在网络上的设备
  • 尝试默认口令字典(Hydra、Medusa)
  • 查询 CVE 数据库匹配设备型号和固件版本的已知漏洞
  • 检查配置文件泄露(如通过 TFTP/FTP 下载设备配置)

防御措施

  • 修改所有默认口令,启用强密码策略
  • 禁用不必要的服务(Telnet、SNMP v1/v2)
  • 及时更新固件补丁
  • 将管理接口限制在特定 IP 段或 VLAN

MAC 地址欺骗

MAC 地址是数据链路层的硬件地址,理论上全球唯一。但在软件层面,MAC 地址可以被轻易修改。

攻击原理

  • 攻击者将网卡的 MAC 地址修改为与目标设备相同的地址
  • 交换机基于 MAC 地址表转发数据帧,欺骗后交换机将本应发给目标的数据转发给攻击者
  • 常用于绕过基于 MAC 的访问控制列表(ACL)或实施 ARP 欺骗的前置步骤

攻击手法

  • MAC 地址克隆ifconfig eth0 hw ether 00:1A:2B:3C:4D:5E(Linux)或通过注册表修改(Windows)
  • MAC 泛洪攻击:向交换机发送大量伪造源 MAC 地址的数据帧,填满 MAC 地址表,使交换机退化为集线器模式(广播所有数据)

安全测试方法

  • 使用 macchanger、SMAC 等工具测试 MAC 地址修改的可行性
  • 验证网络是否基于 MAC 地址进行认证(如校园网、企业内网)
  • 测试 MAC 泛洪攻击(macof 工具)观察交换机行为

防御措施

  • 启用端口安全(Port Security),限制每个端口学习的 MAC 地址数量
  • 静态绑定 MAC 地址与端口
  • 使用 802.1X 认证替代纯 MAC 认证

中间人攻击

中间人攻击(Man-in-the-Middle, MITM)是指攻击者秘密介入通信双方之间,转发并可能篡改通信内容。

常见攻击技术

  • ARP 欺骗:伪造 ARP 响应,将自己的 MAC 地址与网关 IP 绑定,使局域网内流量经过攻击者主机。工具:Ettercap、Cain & Abel、arpspoof
  • DNS 劫持:篡改 DNS 响应,将合法域名解析到恶意 IP。可发生在本地 hosts 文件、路由器 DNS 设置、DNS 服务器等层面
  • DHCP 欺骗:伪造 DHCP 服务器,向客户端分配恶意网关和 DNS 服务器地址
  • SSL/TLS 剥离:将 HTTPS 连接降级为 HTTP,阻止加密通信。工具:sslstrip
  • Wi-Fi 钓鱼:搭建同名恶意热点,诱导用户连接后截获所有流量

安全测试方法

  • 在测试网络中执行 ARP 欺骗,观察流量是否被成功截获(Wireshark 分析)
  • 使用 Bettercap 进行自动化 MITM 攻击测试
  • 检查网络是否启用动态 ARP 检测(DAI)等防护机制
  • 验证 DNS 响应的完整性和来源可信度

防御措施

  • 启用动态 ARP 检测(DAI)和 IP 源防护(IP Source Guard)
  • 使用静态 ARP 表绑定关键设备
  • 强制 HTTPS(HSTS)防止 SSL 剥离
  • 部署 DNSSEC 防止 DNS 劫持
  • 使用 VPN 加密通信流量

网络边界渗透

网络边界是企业内网与外部互联网的交界处,是安全防护的第一道防线,也是攻击者首要突破的目标。

边界组件与攻击面

  • 防火墙:规则配置错误可能导致不必要的端口开放或服务暴露
  • DMZ 区域:放置对外提供服务的服务器(Web、邮件、DNS),是渗透测试的重点区域
  • VPN 网关:远程接入的入口,弱口令或已知漏洞可导致内网沦陷
  • NAT 设备:网络地址转换设备,配置不当可能暴露内部 IP 和服务
  • WAF(Web 应用防火墙):部署在 Web 服务器前,规则绕过是常见测试点

安全测试方法

  • 外部端口扫描:使用 Nmap 全面扫描目标公网 IP 的开放端口和服务(nmap -p- -sV <target>
  • 防火墙规则探测:通过构造特殊数据包(如分片、异常标志位)测试防火墙过滤能力
  • DMZ 主机渗透:对暴露的服务进行漏洞扫描(Nessus、OpenVAS)和手工测试
  • VPN 渗透测试:尝试暴力破解、利用已知 CVE(如 Fortinet、Pulse Secure 历史漏洞)
  • 验证边界隔离:测试从 DMZ 是否可以访问内网资源

防御措施

  • 最小开放端口原则,仅暴露必要的服务
  • DMZ 与内网严格隔离,部署多层防火墙
  • 定期对外部暴露面进行扫描和评估
  • VPN 使用多因素认证(MFA)

网络拓扑探测

网络拓扑探测是渗透测试的侦察阶段,目的是绘制目标网络的结构图,识别关键资产和攻击路径。

探测技术

  • Traceroute:利用 TTL 递增的 ICMP/UDP 包追踪路由路径,识别中间路由器和网络跳数
  • Ping 扫描:使用 ICMP Echo Request(ping)或 TCP SYN Ping(nmap -sn)探测存活主机
  • 端口扫描:识别主机开放的端口和运行的服务(nmap -sS -sV -O
  • OS 指纹探测:通过 TCP/IP 栈行为特征识别操作系统类型和版本
  • SNMP 探测:通过 SNMP 协议获取网络设备信息(需已知 Community String)

常用工具

  • Nmap:功能最全面的网络扫描工具,支持主机发现、端口扫描、服务识别、OS 探测、脚本扫描(NSE)
  • Masscan:高速异步端口扫描器,可在短时间内扫描整个互联网
  • Zmap:类似 Masscan 的高速扫描工具,适合大规模互联网测量
  • Maltego:可视化情报收集和关联分析工具

安全测试注意事项

  • 探测行为可能触发 IDS/IPS 告警,需评估测试授权范围
  • 扫描速率和并发数需控制,避免对目标网络造成拒绝服务
  • 结合 WHOIS、DNS 记录、子域名枚举等 OSINT 手段完善拓扑图
  • 关注云环境中的虚拟网络边界(VPC、安全组、ACL)

防御措施

  • 部署 IDS/IPS 检测扫描行为
  • 限制 ICMP 响应速率,启用反扫描机制
  • 使用云防火墙和安全组限制扫描来源
  • 定期进行资产梳理,及时发现暴露面