由于某种原因,我需要临时切换网关的 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