审计目标与授权边界

家庭网络设备越来越多以后,“路由器客户端列表里看见设备”已经不足以回答这些问题:

  • 当前有哪些设备在线?
  • 哪些服务在局域网监听?
  • 设备身份来自确证,还是仅凭端口号猜测?
  • IPv6 是否同时暴露了同一批服务?
  • IoT、NAS、打印机与开发主机是否处在同一个扁平网络?

本文只讨论对自己拥有或明确授权的家庭网络进行资产盘点。范围不包括口令测试、认证绕过、漏洞利用或未经授权的互联网扫描。

先定义证据等级

资产报告最容易犯的错误,是把弱线索写成确定结论。我使用四级证据:

标记 含义
确认 TCP 建连、服务横幅、实际会话或明确 API 响应
广播 设备通过 mDNS/DNS-SD/SSDP 自报名称和能力
推断 仅根据 MAC OUI、端口号或服务组合判断
近期 邻居缓存中存在,但本轮没有在线响应

端口 9100 不一定就是打印机,9000 也不一定就是 Portainer。只有横幅、mDNS、自报型号和实际使用关系交叉一致,才应该写入明确身份。

第一步:建立权威地址范围

先记录:

1
2
3
4
Get-NetIPConfiguration
Get-NetRoute -DestinationPrefix '0.0.0.0/0'
Get-NetNeighbor -AddressFamily IPv4
Get-NetNeighbor -AddressFamily IPv6

地址范围应来自实际接口、默认路由和路由器 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
2
Get-NetTCPConnection -State Established |
Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, OwningProcess

必要时可以在自己的终端上做很短的被动抓包。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
2
3
4
5
6
7
8
9
资产标识
证据等级
首次/最后观察时间
IPv4/IPv6
MAC 与厂商
确认服务
实际通信关系
风险与整改负责人
复验日期与结果

整改顺序通常是:关闭非必要入口 → 收紧监听与防火墙 → 固化基础设施地址 → 隔离 IoT/访客 → 复核 IPv6 → 保存新基线。

结语

家庭网络审计不是为了得到一张“端口越多越专业”的表,而是把设备身份、服务暴露和真实通信关系变成可复验的证据。最重要的输出也不是扫描结果,而是整改后的差异、覆盖边界,以及下一次设备变化后仍能重复执行的方法。