审计目标与授权边界
家庭网络设备越来越多以后,“路由器客户端列表里看见设备”已经不足以回答这些问题:
- 当前有哪些设备在线?
- 哪些服务在局域网监听?
- 设备身份来自确证,还是仅凭端口号猜测?
- IPv6 是否同时暴露了同一批服务?
- IoT、NAS、打印机与开发主机是否处在同一个扁平网络?
本文只讨论对自己拥有或明确授权的家庭网络进行资产盘点。范围不包括口令测试、认证绕过、漏洞利用或未经授权的互联网扫描。
先定义证据等级
资产报告最容易犯的错误,是把弱线索写成确定结论。我使用四级证据:
| 标记 | 含义 |
|---|---|
| 确认 | TCP 建连、服务横幅、实际会话或明确 API 响应 |
| 广播 | 设备通过 mDNS/DNS-SD/SSDP 自报名称和能力 |
| 推断 | 仅根据 MAC OUI、端口号或服务组合判断 |
| 近期 | 邻居缓存中存在,但本轮没有在线响应 |
端口 9100 不一定就是打印机,9000 也不一定就是 Portainer。只有横幅、mDNS、自报型号和实际使用关系交叉一致,才应该写入明确身份。
第一步:建立权威地址范围
先记录:
1 | Get-NetIPConfiguration |
地址范围应来自实际接口、默认路由和路由器 DHCP 配置,而不是凭印象写一个 /24。虚拟网卡、WSL、Hyper-V、VPN 和物理 LAN 要分开统计。
第二步:主机发现
Nmap 官方将网络盘点、服务升级管理和主机可用性监控列为常见用途,完整参数应参考 Nmap Reference Guide。在授权网段中可以先做低强度发现:
1 | nmap -sn 192.0.2.0/24 -oA discovery |
192.0.2.0/24 是文档示例网段,执行时替换为自己的授权范围。不要只依赖 ICMP;主机防火墙、睡眠和客户端隔离都可能造成漏报。路由器 DHCP/无线客户端表、ARP/邻居缓存和扫描结果应该合并,而不是互相覆盖。
第三步:逐层确认服务
对已经确认在线的地址,再进行受控 TCP 扫描:
1 | nmap -sS -T3 --top-ports 1000 --open -n -iL alive-targets.txt -oA tcp-top |
只对需要确认的端口做版本识别:
1 | nmap -sV -Pn -n -p 22,80,443,445,631,8123,9000 <authorized-target> |
UDP 扫描更慢,而且 open|filtered 不能直接当成开放。家庭常见的 DNS、NTP、mDNS、SSDP、MQTT 等协议应限制端口、降低速率,并在报告中标注证据强度。
第四步:利用服务发现而不是只猜端口
mDNS/DNS-SD、SSDP 和设备横幅经常能提供:
- 设备名称和型号。
- AirPlay、打印、投屏、Home Assistant 等服务类型。
- IPv4 与 IPv6 地址。
- 服务实际监听端口。
这些自报信息仍需复验。设备广播了一个端口,不代表当前连接一定成功;反过来,扫描没有看到端口,也不代表只进行出站通信的 IoT 设备离线。
第五步:观察真实通信关系
Windows 当前会话可以提供“谁真的在与谁通信”的证据:
1 | Get-NetTCPConnection -State Established | |
必要时可以在自己的终端上做很短的被动抓包。Dumpcap 支持按持续时间自动停止,也可以用 snapshot length 只保存每帧前若干字节;详见 Dumpcap 手册。例如:
1 | dumpcap -i <interface> -a duration:30 -s 96 -w baseline.pcapng |
即使只保留包头,抓包文件仍可能包含内部地址、域名和通信模式,必须按敏感数据保存,不能直接上传博客或公共仓库。
普通交换式网络上,本机通常只能完整看到与自身相关的单播以及广播/组播;没有交换机镜像端口时,不能把这 30 秒结果说成“全网完整流量”。
第六步:风险分级
我优先检查四类风险:
管理面暴露
SSH、VNC、ADB、Portainer、路由器后台和 NAS 管理页是否对整个 LAN 开放?是否存在不需要的明文协议?
本机开发服务误监听
数据库、调试器、代理、Notebook 和测试 Web 服务是否监听 0.0.0.0 或 ::,并被宽泛防火墙规则放行?
扁平网络
IoT、访客、打印机、NAS 和管理主机是否处在同一广播域?如果需要隔离,先列出 Home Assistant、AirPlay、打印和投屏所需的跨网段通信,再设计 ACL 与 mDNS 中继。
IPv6
IPv6 没有 IPv4 NAT 这一层错觉。LAN 内能访问全局 IPv6 地址上的服务,不等于公网一定可进入;最终结论取决于路由器 IPv6 入站防火墙与设备自身防火墙。/64 也不能依靠穷举扫描完成全量发现,应结合邻居表和路由器客户端数据。
报告模板
公开报告应使用虚构地址,私有原表则至少包括:
1 | 资产标识 |
整改顺序通常是:关闭非必要入口 → 收紧监听与防火墙 → 固化基础设施地址 → 隔离 IoT/访客 → 复核 IPv6 → 保存新基线。
结语
家庭网络审计不是为了得到一张“端口越多越专业”的表,而是把设备身份、服务暴露和真实通信关系变成可复验的证据。最重要的输出也不是扫描结果,而是整改后的差异、覆盖边界,以及下一次设备变化后仍能重复执行的方法。