一、实训目标
理解网络测量的目的,掌握常用的网络测量工具。
二、实训环境
1台服务器、1台工作站计算机。
三、实训内容
假设您是一家公司的网络系统管理员,负责公司的网络故障诊断和测试工作。为此,请您完成以下工作:
1.定期扫描指定子网(10.0.0.1 ~ 10.0.0.100/24)内计算机的端口状况并将扫描结果存档。
(可以参考教材"6.2.1 常用的网络测试软件"章节部分,完成操作)
2.定期收集DNS服务器53端口的访问数据流量并保存结果。
(可以参考教材"6.2.2 Wireshark的应用实例"章节部分,完成操作)
四、实训成果
1. 定期扫描指定子网(10.0.0.1 ~ 10.0.0.100/24)内计算机的端口状况并将扫描结果存档:


2. 定期收集DNS服务器53端口的访问数据流量并保存结果:

捕获结果如下所示:

存档结果如下所示:

- - - - - - - - - - - - - - - - - - - - - -
PortScan与Wireshark工具对比总览
📊 基本信息对比
| 对比维度 | PortScan(以Nmap为例) | Wireshark |
|---|---|---|
| 核心功能 | 主动探测网络端口和服务状态 | 被动捕获和分析网络数据包 |
| 工作模式 | 主动式(发送探测包) | 被动式(监听网络流量) |
| 主要用途 | 网络发现、服务枚举、安全扫描 | 协议分析、故障诊断、流量监控 |
| 技术基础 | TCP/IP协议栈、ICMP、各种扫描技术 | 数据包捕获库(libpcap/WinPcap) |
| 输出结果 | 端口状态、服务版本、操作系统猜测 | 原始数据包、协议解码、会话重构 |
| 法律风险 | 较高(可能被误认为攻击行为) | 中等(需注意隐私合规) |
🔍 功能特性详细对比
| 功能类别 | PortScan工具 | Wireshark |
|---|---|---|
| 网络发现 | ✅ 主机存活检测(ping扫描) ✅ 端口开放状态检测 ✅ 服务版本识别 ✅ 操作系统指纹识别 | ✅ 可观察到活跃主机 ❌ 不能主动探测关闭主机 ✅ 可分析现有服务的协议特征 |
| 协议支持 | ✅ TCP扫描(多种方式) ✅ UDP扫描 ✅ SCTP扫描 ✅ IP协议扫描 | ✅ 支持2000+种协议解码 ✅ 深度协议解析 ✅ 自定义协议支持 |
| 扫描类型 | ✅ SYN扫描(半开) ✅ Connect扫描(全连接) ✅ FIN/NULL/Xmas扫描 ✅ ACK扫描(防火墙探测) ✅ 空闲扫描(隐蔽扫描) ✅ UDP扫描 | ❌ 无主动扫描功能 ✅ 可检测到扫描行为 |
| 分析深度 | ⚠️ 表层分析(端口/服务/版本) | ✅ 深度分析(包头/载荷/会话) ✅ 时间序列分析 ✅ 流量模式识别 |
| 性能特点 | ⚡ 可快速扫描大范围网络 🔧 可调节扫描速度 📈 并行扫描能力 | ⏱️ 实时捕获可能丢包 💾 受限于存储空间 ⚡ 分析速度依赖过滤条件 |
🛠️ 常用命令/操作对比
| 操作类型 | PortScan(Nmap示例) | Wireshark |
|---|---|---|
| 基本扫描 | nmap 192.168.1.1 nmap 192.168.1.0/24 |
wireshark -i eth0 图形界面选择接口 |
| 端口指定 | nmap -p 80,443 192.168.1.1 nmap -p 1-1000 192.168.1.1 |
tcp.port == 80 udp.port == 53 |
| 服务探测 | nmap -sV 192.168.1.1 nmap -sV --version-intensity 9 |
自动协议解码 手动分析协议特征 |
| 隐蔽扫描 | nmap -sS 192.168.1.1(SYN扫描) nmap -sF 192.168.1.1(FIN扫描) |
可检测到SYN/FIN异常流量 |
| 输出格式 | -oN(普通文本) -oX(XML格式) -oG(Grepable格式) |
.pcap/.pcapng(捕获文件) 可导出为CSV/XML/文本 |
| 过滤功能 | 有限的过滤选项 --exclude排除主机 |
强大的显示过滤器 ip.addr == 192.168.1.1 http.request.method == "GET" |
🎯 应用场景对比
| 应用场景 | PortScan更适合 | Wireshark更适合 |
|---|---|---|
| 网络资产盘点 | ✅ 快速发现网络中的设备和开放服务 | ⚠️ 只能看到正在通信的设备 |
| 安全漏洞评估 | ✅ 识别不必要的开放端口 ✅ 发现旧版本服务漏洞 | ⚠️ 需结合其他工具分析漏洞利用 |
| 网络故障诊断 | ⚠️ 只能验证端口是否可达 | ✅ 深入分析协议交互过程 ✅ 诊断连接建立问题 |
| 性能问题分析 | ❌ 不适合性能分析 | ✅ 分析延迟、重传、窗口大小 ✅ 识别瓶颈点 |
| 恶意活动检测 | ⚠️ 可发现异常开放端口 | ✅ 检测扫描行为、DDoS攻击 ✅ 分析恶意软件通信 |
| 协议学习研究 | ⚠️ 只能看到服务表层信息 | ✅ 深入理解协议工作原理 ✅ 查看完整通信过程 |
| 合规性检查 | ✅ 检查防火墙策略 ✅ 验证最小化服务原则 | ✅ 监控数据泄露风险 ✅ 审计敏感信息传输 |
📈 输出结果对比
| 输出内容 | PortScan典型输出 | Wireshark典型输出 |
|---|---|---|
| 主机信息 | IP地址、主机名(如果可解析) | IP地址、MAC地址、主机名 |
| 端口状态 | OPEN/CLOSED/FILTERED 具体服务名称和版本 | 可看到实际通信的端口 协议类型和会话状态 |
| 协议细节 | 有限的版本信息 Banner信息(如果支持) | 完整的协议头部信息 应用层数据内容 |
| 时间信息 | 扫描开始/结束时间 总耗时 | 每个数据包的时间戳 微秒级精度 |
| 网络拓扑 | 可推断部分网络关系 | 可看到实际的通信路径 路由跳数(通过TTL) |
| 安全告警 | 可能的风险端口提示 | 协议异常告警 (如重传、校验和错误) |
🔧 工具链集成对比
| 集成能力 | PortScan工具 | Wireshark |
|---|---|---|
| 脚本支持 | ✅ Nmap脚本引擎(NSE) 500+个内置脚本 | ✅ Lua脚本支持 自定义协议解码器 |
| API接口 | ✅ Nmap具有XML输出 便于其他程序解析 | ✅ 命令行工具tshark 可通过管道集成 |
| 与其他工具协同 | ✅ 可与Metasploit集成 ✅ 漏洞扫描器前端 | ✅ 可导入/导出多种格式 ✅ 与入侵检测系统协同 |
| 自动化能力 | ✅ 易于编写扫描脚本 ✅ 可定时执行扫描任务 | ✅ 可通过tshark自动化分析 ✅ 可设置触发条件捕获 |
📋 使用限制与注意事项
| 限制方面 | PortScan工具 | Wireshark |
|---|---|---|
| 法律限制 | ⚠️ 未经授权扫描可能违法 ⚠️ 可能触发IDS/IPS告警 | ⚠️ 隐私合规要求 ⚠️ 不能捕获加密内容 |
| 技术限制 | ⚠️ 防火墙可能屏蔽扫描 ⚠️ 速率限制可能导致误判 | ⚠️ 交换机环境只能看到相关流量 ⚠️ 需要管理员权限 |
| 资源消耗 | 🔋 消耗目标系统资源 📡 产生大量网络流量 | 💾 消耗本地存储和内存 ⚡ 高性能网络可能丢包 |
| 学习曲线 | 📚 中等难度 需理解扫描原理 | 📚 较高难度 需熟悉网络协议 |
| 误报风险 | ⚠️ 服务识别可能错误 ⚠️ 端口状态可能误判 | ⚠️ 协议解码可能错误 ⚠️ 过滤条件可能遗漏数据 |
🏆 最佳实践对比
| 实践领域 | PortScan最佳实践 | Wireshark最佳实践 |
|---|---|---|
| 准备工作 | 1. 获取书面授权 2. 通知相关团队 3. 选择合适的时间窗口 | 1. 明确分析目标 2. 准备足够的存储空间 3. 设置合适的捕获过滤器 |
| 执行过程 | 1. 从轻量扫描开始 2. 控制扫描速率 3. 记录详细日志 | 1. 先使用显示过滤器 2. 保存重要会话 3. 及时标记关键数据包 |
| 结果分析 | 1. 验证重要发现 2. 排除误报结果 3. 优先处理高风险项目 | 1. 遵循协议栈分层分析 2. 跟踪完整会话流 3. 使用统计功能辅助 |
| 报告输出 | 1. 包含扫描范围和参数 2. 按风险等级排序结果 3. 提供修复建议 | 1. 截图关键协议交互 2. 导出相关数据包 3. 提供时间线分析 |
🎓 学习路径建议
| 学习阶段 | PortScan学习重点 | Wireshark学习重点 |
|---|---|---|
| 初学者 | 1. 基本扫描语法 2. 常见端口和服务 3. 简单的输出解读 | 1. 界面基本操作 2. 简单过滤器使用 3. 常见协议识别 |
| 中级用户 | 1. 各种扫描技术原理 2. NSE脚本使用 3. 扫描优化技巧 | 1. 高级过滤表达式 2. 协议深入分析 3. 统计功能使用 |
| 高级专家 | 1. 编写自定义NSE脚本 2. 大规模分布式扫描 3. 绕过防御技术 | 1. 自定义协议解码 2. Lua脚本编程 3. 性能调优和自动化 |
💡 协同使用示例:完整网络诊断工作流
| 步骤 | PortScan角色 | Wireshark角色 | 协同效果 |
|---|---|---|---|
| 1. 问题发现 | 扫描发现Web服务器80端口开放 | 捕获到HTTP请求响应慢 | 确认服务可达但性能异常 |
| 2. 深入分析 | 扫描所有端口,发现额外管理端口 | 分析TCP握手过程,发现SYN重传 | 定位到网络延迟问题 |
| 3. 安全评估 | 发现不必要的FTP服务开放 | 捕获到明文FTP凭据传输 | 识别安全风险并提供证据 |
| 4. 解决方案 | 验证关闭不必要端口后的状态 | 监控改进后的网络性能 | 提供前后对比数据 |
| 5. 持续监控 | 定期扫描检查合规性 | 部署长期流量监控 | 建立完整的网络健康监控体系 |
📌 总结选择建议
| 如果你的需求是... | 首选工具 | 理由 |
|---|---|---|
| 快速了解网络中有哪些设备和服务 | PortScan | 主动发现,速度快,覆盖面广 |
| 深入分析特定网络问题的根本原因 | Wireshark | 提供协议级详细信息,可诊断复杂问题 |
| 进行安全评估和漏洞扫描 | 两者结合 | PortScan发现潜在风险,Wireshark验证和深入分析 |
| 监控网络性能和用户体验 | Wireshark | 可分析延迟、吞吐量等性能指标 |
| 学习网络协议和通信原理 | Wireshark | 可视化展示协议交互全过程 |
| 验证防火墙和安全策略 | PortScan | 可从外部验证端口过滤效果 |
黄金法则:在实际网络管理和安全工作中,PortScan和Wireshark不是二选一的关系,而是互补的"侦察兵"和"显微镜"。熟练的网络工程师应该根据具体情况,灵活运用或结合使用这两种工具。
实训建议
-
从合法环境开始:使用自己的家庭网络或实验环境
-
循序渐进:先掌握基本功能,再学习高级技巧
-
动手实践:理论结合实践,多分析真实流量
-
遵守法律:未经授权不对他人网络进行扫描和分析
本文为个人学习笔记与经验总结,仅供学习交流参考
创作不易,如果对你有用,可以点赞关注支持一下,后续会分享更多实用内容~