Windows 如何修改网关的 ARP 对应 MAC 地址

2019-07-17 2127点热度 1人点赞

由于某种原因,我需要临时切换网关的 ARP 表项,而在 windows 下我发现却出现了点小毛病


通常情况下,我们使用 arp 命令是用于查看当前系统有没有获取到对应 IP 的 arp 表项

> arp -a

接口: 192.168.2.100 --- 0xe
  Internet 地址         物理地址              类型
  192.168.2.1           00-50-56-C0-00-08     动态
  192.168.2.255         ff-ff-ff-ff-ff-ff     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  224.0.0.252           01-00-5e-00-00-fc     静态
  239.255.255.250       01-00-5e-7f-ff-fa     静态

但是,如果出于某种情况,我们需要绑定一份 MAC 地址在某个 IP 上

> arp -s 192.168.2.200 00-50-56-C0-00-01

> arp -a

接口: 192.168.2.100 --- 0xe
  Internet 地址         物理地址              类型
  192.168.2.1           00-50-56-C0-00-08     动态
  192.168.2.200         00-50-56-c0-00-01     静态
  192.168.2.255         ff-ff-ff-ff-ff-ff     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  224.0.0.252           01-00-5e-00-00-fc     静态
  239.255.255.250       01-00-5e-7f-ff-fa     静态

而如果你需要绑定一个已有的 网关、其他网卡的 arp 表项时,只用 arp 命令是做不到的了

这时候你就需要用 netsh 来管理 arp 项

> netsh interface ipv4 show interface

Idx     Met         MTU          状态                名称
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Pseudo-Interface 1
 14         100        1500  connected     Wlan
> netsh -c interface ipv4 add neighbors interface=14 "192.168.2.1" "00-50-56-C0-00-02" store=persistent

> arp -a 

  Internet 地址         物理地址              类型
  192.168.2.1           00-50-56-C0-00-02     动态
  192.168.2.255         ff-ff-ff-ff-ff-ff     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  224.0.0.252           01-00-5e-00-00-fc     静态
  239.255.255.250       01-00-5e-7f-ff-fa     静态
最后一个就是如何删除这条永久生效的 ARP 条目。
> netsh -c interface ipv4 delete neighbors name=14 "192.168.2.1" "00-50-56-C0-00-02" store=persistent

StarryVoid

Have a good time