jaisonjerald/wireshark-network-analysis

GitHub: jaisonjerald/wireshark-network-analysis

该项目通过 Wireshark 在虚拟实验室中对常见网络协议进行数据包捕获与分析,帮助用户理解协议交互过程并掌握网络流量排查技能。

Stars: 0 | Forks: 0

# 🦈 Wireshark 网络分析 ![GitHub last commit](https://img.shields.io/github/last-commit/jaisonjerald/wireshark-network-analysis) ![GitHub repo size](https://img.shields.io/github/repo-size/jaisonjerald/wireshark-network-analysis) ![License](https://img.shields.io/badge/License-MIT-green) ![Platform](https://img.shields.io/badge/Platform-Kali_Linux-blue) ![Tool](https://img.shields.io/badge/Tool-Wireshark-orange) ## 📖 概述 本代码库记录了在虚拟实验室环境中使用 **Wireshark** 进行的动手数据包分析实践。 本项目的目标是理解常见网络协议的运作方式,以及安全分析师如何在故障排除、事件响应、恶意软件调查和威胁狩猎期间检查网络流量。 ## 📑 目录 - [实验室环境](#-lab-environment) - [项目结构](#-project-structure) - [ARP 协议分析](#1️⃣-address-resolution-protocol-arp) - [ICMP 协议分析](#2️⃣-internet-control-message-protocol-icmp) - [DNS 协议分析](#3️⃣-domain-name-system-dns) - [TCP 三次握手](#4️⃣-tcp-three-way-handshake) - [展示的技能](#-skills-demonstrated) - [关键学习点](#-key-learnings) - [未来工作](#-future-work) - [许可证](#-license) ## 🎯 目标 - 理解数据包结构 - 捕获真实网络流量 - 分析常见网络协议 - 培养数据包检查技能 - 构建实用的网络安全作品集 # 🖥️ 实验室环境 | 组件 | 详情 | |-----------|---------| | 操作系统 | Kali Linux | | 虚拟化 | Oracle VirtualBox | | 网络 | NAT + Host-Only | | 工具 | Wireshark | # 📂 项目结构 ``` wireshark-network-analysis/ │ ├── README.md ├── LICENSE │ ├── captures/ │ ├── arp.pcapng │ ├── icmp.pcapng │ └── dns.pcapng │ └── images/ ├── 01-arp-analysis.png ├── 02-icmp-analysis.png └── 03-dns-analysis.png ``` # 📡 协议分析 # 1️⃣ 地址解析协议 (ARP) ## 显示过滤器 ``` arp ``` ## 捕获

### 发生了什么? 客户端广播一个 ARP 请求,询问: 目标设备回复其 MAC 地址。 ### 安全相关性 - 检测 ARP 欺骗 - 识别 IP 冲突 - 调查二层攻击 # 2️⃣ 互联网控制消息协议 (ICMP) ## 显示过滤器 ``` icmp ``` ## 捕获

### 发生了什么? 发送 ICMP 回显请求 以验证主机的可用性。 目标回复一个 ICMP 回显应答。 ### 安全相关性 - 连通性测试 - 网络故障排除 - 检测 Ping 扫描 - 检测网络侦察 # 3️⃣ 域名系统 (DNS) ## 显示过滤器 ``` dns ``` ## 命令 ``` dig google.com ``` ## 捕获

### 数据包摘要 | 字段 | 值 | |-------|-------| | 源 IP | 10.0.2.15 | | 目标 IP | 172.23.203.65 | | 协议 | DNS | | 端口 | UDP 53 | | 查询 | google.com | | 响应 | 142.251.223.238 | ### 发生了什么? 客户端发送一个 DNS 查询,请求 **google.com** 的 IPv4 地址。 DNS 服务器回复相应的 IP 地址。 ### 安全相关性 DNS 流量经常被分析以检测: - DNS 隧道 - 恶意软件通信 - 命令与控制 (C2) - 可疑域名 - 威胁狩猎指标 # 4️⃣ TCP 三次握手 ## 目标 捕获并分析用于在 HTTP 通信之前建立可靠连接的 TCP 三次握手。 ## 显示过滤器 ``` tcp.port==80 ``` ## 使用的命令 ``` curl http://example.com ``` ## TCP 捕获 ![TCP 三次握手](https://static.pigsec.cn/wp-content/uploads/repos/cas/5a/5a44084e936879e99fb2ed37a02bf3ad0186a211881a3228e65a5f881f2c12ba.png) *图 4:使用 Wireshark 捕获的 TCP 三次握手和 HTTP 通信。* ## 数据包流 | 步骤 | 数据包 | 描述 | |------|--------|-------------| | 1 | SYN | 客户端向 Web 服务器发起 TCP 连接。 | | 2 | SYN-ACK | 服务器确认连接请求。 | | 3 | ACK | 客户端确认连接。 | | 4 | HTTP GET | 客户端请求网页。 | | 5 | HTTP/1.1 200 OK | 服务器返回请求的内容。 | ## 数据包摘要 | 字段 | 值 | |-------|-------| | 客户端 IP | 10.0.2.15 | | 服务器 IP | 172.66.147.243 | | 目标端口 | 80 | | 协议 | TCP | | 应用层协议 | HTTP | ## 安全相关性 TCP 三次握手在数据传输之前建立可靠连接。 安全分析师检查 TCP 握手以检测: - SYN Flood 攻击 - 端口扫描 - 连接失败 - 服务可用性问题 - 网络侦察 ## 关键要点 - TCP 是一种**面向连接**的协议。 - 在数据传输开始之前会交换三个数据包。 - HTTP 通信仅在 TCP 连接建立后才开始。 - Wireshark 提供了对 TCP 连接每个阶段的可见性。 # 5️⃣ TLS (HTTPS) 握手分析 ## 🎯 目标 捕获并分析用于在客户端和 Web 服务器之间建立加密 HTTPS 连接的 TLS 1.3 握手。 ## 🖥️ 实验室环境 | 组件 | 详情 | |-----------|---------| | 操作系统 | Kali Linux | | 虚拟化 | Oracle VirtualBox | | 工具 | Wireshark | | 网络模式 | NAT | ## 🔍 显示过滤器 ``` tls ``` ``` tcp.port == 443 ``` ## 🌐 执行的活动 使用 Firefox 访问了以下 HTTPS 网站: ``` https://example.com https://google.com ``` ## 📸 TLS 捕获

图 5: 使用 Wireshark 捕获的 TLS 1.3 握手。

## 📂 数据包捕获 本次分析中使用的原始数据包捕获文件可在此处获取: - [`captures/05-tls-handshake.pcapng`](captures/05-tls-handshake.pcapng) ``` captures/05-tls-handshake.pcapng ``` ## 📊 数据包分析 | 字段 | 值 | |-------|-------| | 客户端 IP | 10.0.2.15 | | 协议 | TLS 1.3 | | 目标端口 | 443 | | 传输协议 | TCP | | 应用层协议 | HTTPS | ## 🔄 TLS 握手流程 | 步骤 | 描述 | |------|-------------| | Client Hello | 客户端发起安全连接,并公布其支持的 TLS 版本和加密套件。 | | Server Hello | 服务器选择 TLS 版本和加密套件。 | | Certificate | 服务器出示其数字证书以进行身份验证。 | | Key Exchange | 客户端和服务器建立共享加密密钥。 | | Encrypted Application Data | 握手完成后开始安全通信。 | ## 🛡️ 安全相关性 TLS 提供三项主要安全服务: - 🔒 加密 - ✅ 身份验证 - ✔️ 数据完整性 SOC 分析师检查 TLS 流量以: - 验证服务器证书 - 检测过时的 TLS 版本 - 识别弱加密套件 - 调查可疑的加密通信 - 检测潜在的恶意软件命令与控制 (C2) 流量 ## 📚 关键要点 - HTTPS 使用 TLS 来加密 Web 流量。 - TLS 1.3 提供了更高的安全性和更快的握手速度。 - 应用数据在握手后保持加密状态。 - Wireshark 可以分析握手,但如果没有适当的会话密钥则无法解密加密的 payload。 ## 💡 展示的技能 - TLS 1.3 数据包分析 - HTTPS 流量分析 - Wireshark 协议检查 - 安全通信分析 - 网络流量监控 # 🛠️ 展示的技能 - Wireshark 数据包分析 - ARP 分析 - ICMP 分析 - DNS 分析 - TCP 三次握手分析 - HTTP 流量分析 - 网络故障排除 - 数据包检查 - 安全监控 # 📚 关键学习点 ✅ 二层通信 ✅ 三层通信 ✅ 名称解析 ✅ 数据包检查 ✅ 网络故障排除 ✅ 安全监控 # 📖 我学到了什么 通过本项目,我获得了以下方面的实践经验: - 使用 Wireshark 捕获实时网络流量 - 理解 ARP、ICMP、DNS、TCP 和 TLS 通信 - 执行数据包级别的网络故障排除 - 分析加密和未加密的流量 - 使用 GitHub 记录技术发现 - 理解常见网络协议如何支持网络安全调查 # 🚀 未来工作 - TCP 三次握手 - HTTP 分析 - HTTPS / TLS 握手 - DHCP 分析 - FTP 分析 - SMB 分析 - SSH 分析 # 📜 许可证 本项目基于 MIT 许可证授权。 ## 👨‍💻 作者 **Jaison Jerald** - GitHub: https://github.com/jaisonjerald - CEH (认证道德黑客) - IT 支持与网络安全爱好者
标签:Wildcard支持, Wireshark, 协议分析, 句柄查看, 权限提升, 网络安全, 网络流量分析, 虚拟化实验环境, 隐私保护