首页/安全/取证与溯源速查/用 DHCP 日志定位接入设备

用 DHCP 日志定位接入设备

DHCP 租约把 MAC 与 IP 绑定在具体时间窗内,配合交换机 MAC 表可定位“某 IP 在事件时刻属于哪台设备”。

取证与溯源速查安全更新于 2026-10-13

DHCP 日志与接入定位

DHCP 服务器在分配地址时,会把 MAC、分配时刻与租期写入租约文件,这条记录把「某个 IP 在某段时间属于哪块网卡」固定下来。溯源中常见的问题是只知道 IP 不知道设备,租约加交换机 MAC 地址表就能把范围收缩到具体端口。租约文件是纯文本,按时间窗筛选即可定位,是终端侧最快能得到的一手证据。

基本信息

租约文件/var/lib/dhcp/dhcpd.leases(ISC dhcpd)
服务日志dhcpd 自身日志或系统日志中的 DHCP 记录
关键字段租约起止时间、绑定状态、hardware ethernet
关联链MAC → 交换机 MAC 地址表 → 端口

典型使用场景

  • 只知道事件时刻的源 IP,需要定位到具体终端
  • 判断某 IP 在某时间窗内是否发生过设备变更
  • 核对终端上报的主机名与实际网卡是否一致
  • 排查地址冲突:同一地址被两台设备占用
  • 为流量侧结论补充终端侧证据,形成完整链条
  • 核查终端上报的主机名与网卡是否长期一致,辅助识别冒用

查租约与关联

查租约与关联
grep -n '203.0.113.10' /var/lib/dhcp/dhcpd.leases     # 定位该地址的租约块
tail -30 /var/lib/dhcp/dhcpd.leases                    # 看最近写入的租约
grep -i 'DHCPACK' /var/log/syslog | tail -20           # 分配成功记录
# 拿到 MAC 后到交换机侧查 MAC 表
# show mac address-table address 0011.2233.4455

租约字段读法

字段含义判读要点
binding state租约状态,如 active / free / backupactive 才代表该时段地址被占用
starts / ends租约生效与到期时间续租会追加新记录,取覆盖事件时刻那条
hardware ethernet客户端网卡 MAC定位设备的唯一稳定标识
client-hostname客户端上报的主机名由终端自行填写,可能被伪造
租约续约只更新时间不换地址时,文件中会出现多条 starts/ends 记录,判断归属要取覆盖事件时刻的那一条。
client-hostname 与设备型号由客户端上报,不能作为归属结论,只能作为辅助线索。
租约文件按时间顺序追加写入,末尾是最新记录;判断历史时刻归属应先把文件切分为按地址分组的租约块,再取覆盖事件时刻的一条。

易错点

  • 手工配置的静态地址不会出现在租约里,查不到不代表设备不存在
  • 无线与有线可能共用地址池,先分清网段再谈归属
  • 只看最新一条租约,会把事件时刻的地址归属判给后来的设备
  • 租约到期回收后原记录仍在,需按时间窗过滤而不是取文件末尾

数据来源与参考

  • ISC dhcpd 文档(leases 文件格式)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌