本帖最后由 阿勒泰 于 2022-8-24 18:04 编辑
概念(来自百度百科):地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
arp命令帮助
示例 查看arp列表arp -a 用于查看缓存中的所有项目 arp -g 与-a相同
添加静态arp项目(用于预防arp攻击)arp -s 手动增加arp项目 arp -s IP地址 MAC地址
提升权限(使用管理员身份运行CMD):
拒绝访问:解决方法: 1.以管理员身份运行cmd或PowerShell 2.使用netsh i i show in命令,查看网卡Idx号 3.运行netsh -c i i add neighbors “idx” “ip地址” “物理地址”(实际命令中不需要加双引号)命令手动添加静态arp项目 4.使用arp -a命令验证arp项目是否添加成功
删除静态arp项目arp -d 删除arp项目
如果arp -d后面添加IP地址,会直接删除ip对应的arp项目,如果输入arp -d,则删除所有的arp项目。相当于arp -d *。 如果使用arp -d命令删除arp项目失败,可以使用netsh -c i i delete neighbors “idx”(实际命令中不需要加双引号)命令
扩展查看自己是否受到arp攻击 从上图中可以看出,网关的mac地址变成跟某台发出arp攻击的mac地址一样了。 如果受到了arp攻击,会导致断网,或你的所有数据通过攻击机转发,如果被嗅探到了明文转发用户名密码的数据包,那么攻击者将得到你的用户名密码,例如下图。
|