首页/安全/取证与溯源速查/邻居表(ARP)与内网关系
Linux 取证135 条

邻居表(ARP)与内网关系

ip neigh 展示二层邻居缓存,反映主机近期与哪些同网段地址通信;结合 VLAN 与网关信息可辅助还原内网横向路径。

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

邻居表核查

邻居表也就是常说的 ARP 缓存,记录本机近期通信过的二层地址映射,是主机侧能反映「和谁说过话」的一类证据。它保存在内核中且条目会过期,现场处置时要尽早采集。用 ip neigh 查看比遗留的 arp -an 更完整,还能显示 IPv6 邻居与可达状态。

基本信息

命令ip neigh show、arp -an(net-tools 遗留工具)
状态取值REACHABLE、STALE、DELAY、PROBE、FAILED、INCOMPLETE、PERMANENT
另一视图/proc/net/arp 仅覆盖 IPv4
适用平台Linux(iproute2 工具集)
存活时间条目有有效期,过期后由内核回收
采集建议现场第一时间导出,并记录采集时刻

典型使用场景

  • 确认本机近期通信过的同网段主机
  • 与流量数据对照判断横向移动范围
  • 排查地址冲突与二层欺骗现象
  • 分析网段内的设备发现与扫描行为
  • 与资产清单比对找出未登记设备

最小示例

最小示例
ip neigh show                        # 全部邻居条目
ip neigh show dev eth0               # 只看指定接口
ip neigh show nud reachable          # 只保留可达状态条目
cat /proc/net/arp                    # IPv4 邻居表的另一种视图
ip -s neigh show                     # 附带收发统计
ip neigh show > neigh.txt && date >> neigh.txt   # 记录采集时刻

输出逐列读法

字段含义注意
目的地址邻居的 IP 或 IPv6 地址需与资产清单核对
dev对应网络接口多网卡主机要分接口查看
lladdr链路层地址(MAC)与厂商前缀对照可推测设备类型
nud 状态邻居可达状态FAILED 与 INCOMPLETE 表示未完成
剩余有效期条目可持续时间决定采集的紧迫程度
邻居表只包含同一网段内的二层邻居,跨网段通信不会出现在这里,用它推断远端通信对象会得出错误结论。
条目会被内核自动回收,重启或长时间运行后早期记录消失,现场应及时导出并记录采集时刻。
IPv6 邻居独立成表,只查看 IPv4 会漏掉通过 IPv6 通信的主机。
arp -an 在部分新发行版已随 net-tools 一并移除,脚本里不要假设它一定存在,优先使用 ip neigh。

易错点

  • 把邻居表当通信历史:它只保留未过期条目,时间跨度短,不能证明某一时刻发生过通信
  • 跨网段推断:邻居表仅覆盖同网段,用远端地址反推会得到错误对象
  • 忽略状态字段:FAILED 与 INCOMPLETE 条目背后并不一定存在真实设备
  • 现场采集过晚:条目已过期,事后无法从主机侧还原通信对象

数据来源与参考

  • man 8 ip-neighbour(iproute2)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌