0Pricing
Cryptology Academy · 课时

数据包捕获的工作原理

了解网络嗅探工具、混杂模式和被动窃听的原理

数据包捕获的工作原理 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

网络接口上的混杂模式

网卡通常会丢弃目标 MAC 地址不是自身地址的数据包。混杂模式会禁用这一过滤机制,使 NIC 将接收到的所有帧交给操作系统,而不论目的地为何。拥有管理员权限的任何应用程序都可以将接口置于混杂模式,接收网络网段上可见的全部流量,而不只是发往该计算机的流量。

libpcap:捕获基础

libpcap 是一个可移植的 C 库,为类 Unix 系统上的数据包捕获提供标准 API。WinPcap 及其后继者 Npcap 为 Windows 提供等效功能。几乎所有数据包捕获和网络分析工具(包括 Wireshark、tcpdump 和 Snort)都使用 libpcap 作为底层捕获引擎。它负责处理与操作系统之间的底层交互,并提供用于选择特定数据包的过滤器语言。

Wireshark:数据包分析工具

Wireshark 是使用最广泛的图形化数据包分析工具。它可以捕获实时流量,也可以打开已保存的 PCAP 文件,并解码数百种协议、重组 TCP 流;在具备密钥时,还能显示解密后的内容。带颜色标记的数据包行、显示过滤器、流跟踪和协议统计信息,使它成为网络故障排查和安全分析不可或缺的工具。

使用 tcpdump 进行命令行捕获

tcpdump 是一种命令行数据包捕获工具,几乎所有 Unix 系统都提供该工具。像 tcpdump -i eth0 port 80 这样的简单命令可以捕获 eth0 接口上的所有 HTTP 流量,并打印每个数据包的摘要。-w 标志会将原始数据包写入 PCAP 文件,供之后在 Wireshark 中分析。tcpdump 的 BPF 过滤器语言可以按协议、端口、地址和标志精确选择流量。

通过 ARP 投毒拦截交换式流量

在现代交换式网络中,交换机会仅将数据包转发到正确的目标端口,因此处于混杂模式的 NIC 只能看到广播流量和发往自身 MAC 的流量。ARP 投毒可以绕过这一限制。攻击者发送免费 ARP 回复,告诉受害者攻击者的 MAC 是网关,并告诉网关攻击者的 MAC 是受害者。所有流量都会经过攻击者的计算机。

通过 ARP 欺骗实施中间人攻击

ARP 投毒成功后,攻击者的计算机会同时接收来自受害者和网关的数据包。为了避免中断通信,攻击者会在双方之间转发数据包,同时读取或修改其中的内容。dsniff 套件中的 arpspoof 和 Ettercap 等工具可以自动完成 ARP 投毒和流量转发。该攻击可以在本地网络网段上悄无声息地运行,若没有专用的 ARP 监控,受害者很难察觉。

集线器上的被动嗅探

交换机普及之前,网络使用集线器将每个数据包广播到所有端口。在基于集线器的网段上,无需进行任何投毒,只启用混杂模式就足以捕获所有主机的全部流量。如今,除了老旧的传统环境和一些工业控制网络之外,集线器已经很少见。不过,对于同一无线信道内的流量而言,Wi-Fi 网络的行为类似集线器,因此在监控模式下可以轻松进行被动捕获。

管理型交换机上的端口镜像

网络管理员使用端口镜像(在 Cisco 术语中也称为 SPAN)来合法地捕获流量,以便进行监控和故障排查。管理员会将管理型交换机配置为把经过指定端口或 VLAN 的所有流量复制到专用镜像端口,再连接到监控设备。这样无需 ARP 投毒即可完整查看流量,是入侵检测传感器和网络分接器获准采用的方法。

数据包捕获的法律与道德方面

在未获授权的情况下捕获网络流量,在大多数司法管辖区都违反法律,包括 US 的《计算机欺诈与滥用法》和 UK 的《计算机滥用法》。即使在组织内部,捕获员工流量也可能需要获得同意并遵守 HR 政策。渗透测试人员必须拥有明确的书面授权,且授权范围应涵盖数据包捕获。IT 管理员通常也需要获得组织政策批准,才能部署网络监控。

捕获的数据包会暴露什么

即使只捕获几分钟的网络活动,也可能从 HTTP 用户代理标头中识别应用程序版本,从 TCP 协议栈行为中获取操作系统指纹,从 DNS 查询中发现内部主机名,从传统协议中获取身份验证凭据,从 HTTP 流量中获取会话 Cookie,并绘制出所有相互通信的系统和服务的地图。这种侦察价值使数据包捕获成为主要的攻击工具。

防御数据包捕获攻击

防御数据包捕获的首要措施是加密所有网络流量,使捕获的数据包只包含密文。管理型交换机上的动态 ARP 检查会根据可信的 DHCP 绑定表验证 ARP 回复,从而阻止 ARP 投毒。端口安全会限制每个交换机端口可以出现的 MAC 地址。网络分段可以限制任何一台遭入侵并执行 ARP 攻击的计算机所造成的影响范围。

ARP 投毒

在交换式网络的数据包捕获攻击中,ARP 投毒的目的是什么?

数据包捕获:要点总结

混杂模式让 NIC 接收网段上的所有帧。libpcap 是所有主要捕获工具的基础。Wireshark 和 tcpdump 是主要的分析工具。ARP 投毒会将交换式流量重定向到攻击者的计算机,从而进行中间人捕获。端口镜像无需投毒即可提供合法监控。加密是主要的防御手段;动态 ARP 检查可以阻止投毒攻击。

常见问题解答

「数据包捕获的工作原理」课时是免费的吗?

是的 — 「数据包捕获的工作原理」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「数据包捕获的工作原理」这节课中我会学到什么?

了解网络嗅探工具、混杂模式和被动窃听的原理 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「数据包捕获的工作原理」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 明文协议:攻击者能看到什么
  2. 数据包捕获的工作原理
  3. 加密流量分析
  4. DNS 安全:DoH 与 DoT
← 返回 Cryptology Academy