1. Wireshark实战环境搭建与基础配置
在开始分析NBNS、SSDP和IGMPv2协议之前,我们需要先搭建一个适合的测试环境。我推荐使用VMware或VirtualBox创建两个虚拟机:一个Windows 7(192.168.2.150)和一个Kali Linux(192.168.2.120)。这两个系统分别模拟内网普通主机和安全测试主机,MAC地址建议设置为00-0c-29-CF-D3-0F和00:0c:29:e7:1c:e5。
安装Wireshark时有个小技巧:在Linux系统上建议用sudo apt install wireshark-qt命令安装带图形界面的版本,安装完成后记得将当前用户加入wireshark组:
bash复制sudo usermod -aG wireshark $USER
第一次启动Wireshark时,我建议先做这些配置:
- 在"Capture"菜单取消勾选"Enable promiscuous mode"(除非确实需要)
- 在"Edit → Preferences → Protocols"中启用NBNS、SSDP、IGMP协议解析
- 设置"View → Time Display Format"为"Seconds Since Beginning of Capture"
实际抓包时有个常见坑点:如果直接对所有网卡抓包,会捕获大量无关流量。我通常先用ifconfig或ipconfig确认目标网卡名称,然后在Wireshark的"Capture Interfaces"对话框里只勾选特定网卡。比如在Linux下通常是eth0或ens33,Windows下可能是"以太网"或"Wi-Fi"。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. NBNS协议深度解析与实战分析
NBNS(NetBIOS Name Service)协议是内网中常见的名称解析协议,工作原理类似DNS,但专门用于局域网内的NetBIOS名称解析。在实际抓包中,我经常看到三类NBNS数据包:
- 名称查询请求(Query):源主机广播询问"谁有这个名字?"
- 正向查询响应(Positive Response):目标主机回应"这个名字是我的IP是xxx"
- 负向查询响应(Negative Response):表示请求的名称不存在
来看个真实案
