CarlosSemeao/network-packet-analysis-labs

GitHub: CarlosSemeao/network-packet-analysis-labs

一个基于真实工具的网络数据包分析实验集合,旨在提升流量捕获、协议分析与网络发现能力。

Stars: 0 | Forks: 0

# 网络数据包分析实验 ## 目标 本仓库记录了用于加强网络流量分析、数据包捕获和网络发现实践能力的实验,使用真实工具进行操作。 ## 实验 1:SSH 流量分析 ### 场景 捕获 macOS 与 Fedora Linux 虚拟机之间的 SSH 流量。 ### 观察结果 - 基于端口 22 建立 TCP 连接 - 持续加密的 SSH 数据包 - 由于加密,无法读取应用程序数据 ### 证据 ![SSH 分析](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/fd74f64bb6004743.png) ![HTTP 分析](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/23b80e16f4004745.png) ## 实验 2:HTTP 流量分析 ### 场景 从本地 Python HTTP 服务器捕获 HTTP 流量。 ### 观察结果 - 可读的 HTTP 请求: - GET / HTTP/1.1 - 服务器响应: - 200 OK - 404 Not Found(favicon) - 应用层数据完全可见 ### 证据 查看 screenshots 文件夹: - http-analysis.png ## 关键洞察 - SSH 流量经过加密,在数据包层面不可读 - HTTP 流量暴露了可读的请求和响应 - 数据包捕获允许直接验证网络行为 ## 使用的工具 - tshark(Wireshark 命令行) - Fedora Linux - macOS - OpenSSH - Python HTTP 服务器 ## 实验 3:Tcpdump 数据包捕获与过滤 ### 场景 本实验重点在于使用 Linux 命令行的 `tcpdump` 来捕获、读取、过滤和检查数据包数据,而不依赖图形界面。 目标是加强对如何直接从终端观察网络流量以及如何按接口、主机、端口、协议和 TCP 标志高效过滤流量的理解。 ### 目标 - 捕获网络流量 - 将数据包捕获保存为 `.pcap` 文件 - 从文件读取数据包捕获 - 应用实用过滤器隔离特定流量 - 以数字、ASCII 和十六进制格式检查数据包 - 理解 `tcpdump` 如何支持命令行故障排除和协议分析 ### 实践概念 - 使用 `-i` 选择接口 - 使用 `-w` 将捕获写入文件 - 使用 `-r` 从文件读取捕获 - 使用 `-c` 限制数据包数量 - 使用 `-n` 和 `-nn` 禁用名称解析 - 按主机、源主机、目的主机过滤 - 按端口、源端口、目的端口过滤 - 按协议过滤(如 ICMP、TCP、UDP) - 使用 `and`、`or`、`not` 组合条件 - 过滤 TCP 标志(如 RST) - 以简洁、ASCII、十六进制和十六进制+ASCII 格式显示数据包 ### 实践命令 #### 在接口上进行基本捕获 ``` tcpdump -i ens5 ``` 在选定接口上捕获数据包。 #### 捕获有限数量的数据包且不进行名称解析 ``` tcpdump -i ens5 -c 5 -n ``` 捕获五个数据包并以数字格式显示 IP 地址,不进行 DNS 查询。 #### 将捕获的流量保存到文件 ``` tcpdump -i ens5 -w capture.pcap ``` 将捕获的流量写入 `.pcap` 文件以便后续分析。 #### 从保存的捕获文件中读取数据包 ``` tcpdump -r capture.pcap -n ``` 从捕获文件中读取数据包,不解析地址。 #### 捕获 SSH 流量 ``` tcpdump -i any tcp port 22 -nn ``` 过滤目标或来源端口 22 的 TCP 流量,通常为 SSH。 #### 按主机过滤流量 ``` tcpdump host example.com -w http.pcap ``` 捕获与特定主机交换的流量。 #### 按端口过滤流量 ``` tcpdump -i ens5 port 53 -n ``` 捕获端口 53 上的 DNS 流量。 #### 按协议过滤流量 ``` tcpdump -i ens5 icmp -n ``` 捕获 ICMP 流量,例如 ping 请求和回复。 #### 从 pcap 文件中过滤源主机的数据包 ``` tcpdump -r traffic.pcap src host 192.168.124.1 -n ``` 显示来自特定源 IP 地址的数据包。 #### 计算匹配过滤器的数据包数量 ``` tcpdump -r traffic.pcap src host 192.168.124.1 -n | wc ``` 用于测量有多少流量符合某个条件。 #### 仅过滤设置了 TCP RST 标志的数据包 ``` tcpdump -r traffic.pcap "tcp[tcpflags] == tcp-rst" -n ``` 用于识别 TCP 通信中的重置行为。 #### 显示简要数据包信息 ``` tcpdump -r TwoPackets.pcap -q ``` 显示更简短的输出,包含较少的数据包细节。 #### 显示链路层信息(如 MAC 地址) ``` tcpdump -r TwoPackets.pcap -e ``` 用于观察以太网层细节。 #### 以 ASCII 格式显示数据包内容 ``` tcpdump -r TwoPackets.pcap -A ``` 当数据包内容包含可读文本时非常有用。 #### 以十六进制格式显示数据包内容 ``` tcpdump -r TwoPackets.pcap -xx ``` 当数据不可读时用于底层检查。 #### 以十六进制和 ASCII 格式显示数据包内容 ``` tcpdump -r TwoPackets.pcap -X ``` 用于同时比较原始数据和可读内容。 ### 证据 ![Tcpdump 分析](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/91aad62dfe004746.png) 截图展示了使用 tcpdump 在 Linux 终端中按协议和端口过滤流量的实时数据包捕获。 这演示了无需依赖图形工具即可检查原始网络流量的能力,强化了基于命令行的分析和故障排除技能。 ## 实验 4:Nmap 网络发现与端口扫描 ### 场景 从 Fedora Linux 虚拟机执行 Nmap,对虚拟化网络环境中的主机进行发现和端口扫描。扫描目标为本地虚拟机(10.211.55.8),以展示虚拟机暴露的服务,验证本地网络可见性和服务枚举技术。 实验包括: - 本地主机枚举(自扫描) - 虚拟机上的服务检测 - 虚拟和典型 LAN 范围内的主机发现示例 ### 观察结果 - 使用 ping 扫描(`-sn`)进行活动主机发现 - 识别目标系统上的开放 TCP 端口 - 服务检测揭示运行中的服务(例如 SSH、HTTP) - 扫描类型之间的差异: - 连接扫描(`-sT`) - SYN 扫描(`-sS`) - 扫描速度和定时选项的影响 ### 关键发现 - Nmap 能高效地自动化主机发现和服务枚举 - 开放端口直接揭示了潜在的攻击面 - SYN 扫描比完整连接扫描更快且更隐蔽 - 端口扫描提供了暴露服务的清晰地图 ### 证据 ![Nmap 扫描](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/7f5aa997c9004747.png) 截图展示了真实 Nmap 扫描,识别目标系统上的开放端口和服务。 ### 实践命令 #### 发现活动主机(虚拟网络) ``` nmap -sn 10.211.55.0/24 ``` #### 发现活动主机(真实 LAN 示例) ``` nmap -sn 192.168.1.0/24 ``` #### 快速扫描常用端口 ``` nmap -F MACHINE_IP ``` #### SYN 扫描(隐蔽) ``` sudo nmap -sS MACHINE_IP ``` #### 服务版本检测 ``` nmap -sV MACHINE_IP ``` #### 扫描所有端口 ``` nmap -p- MACHINE_IP ``` #### 保存扫描结果 ``` nmap -oA scan_results MACHINE_IP ``` ## 结论 本工作展示了跨三个关键层面的实际网络可见性: - 流量捕获(tcpdump) - 数据包分析(tshark) - 网络发现与服务枚举(Nmap) 不依赖假设,这些实验直接验证了数据包层面的网络行为。 这些工具共同构成了完整的工作流:发现 → 捕获 → 分析。 这些技术反映了网络故障排除、安全分析和事件调查中使用的流程。
标签:CTI, Facebook API, HTTP流量分析, Maven构建, Nmap, Python HTTP服务器, SEO关键词, SSH流量分析, TCP连接, tshark, Wireshark, 加密流量, 包捕获, 协议分析, 句柄查看, 实战实验, 实验室实践, 明文流量, 服务枚举, 本地模型, 权限提升, 流量检查, 系统分析, 网络分析, 网络发现, 网络安全, 网络流量分析, 网络流量可视化, 虚拟驱动器, 逆向工具, 隐私保护