wireshark 通过抓包学习arp协议和攻击防护知识(非常详细)

ARP协议

定义:ARP(Address Resolution Protocol)地址解析协议的首字母简写,作用是将三层逻辑IP地址解析成二层物理MAC地址

根据网络TCP/IP四层模型,IP属于第三层而MAC属于第二层,他们互相之间是无法直接通讯的,以太网发送IP数据包时是先封装三层包头加二层包头,数据包只知道对方IP,而不知道真实的物理地址MAC,所以这个时候就需要ARP解析。

可以看下windows系统cmd下,arp -a来查看本机的arp缓存表
在这里插入图片描述

ARP缓存表

1、每个网卡包含虚拟网卡都会生成单独的一张arp缓存表

arp缓存中包含一张或多张表,用户存储IP地址访问解析过的MAC

2、ARP老化时间,到时间会清除动态arp表信息

windows 120S
linux 60S

3、ARP类型分静态和动态

很好理解,静态就是永久存储,而动态是随着老化时间被删除,上图中可以看到静态绑定的都是组播和广播地址作为保留地址特殊用途
arp协议其实是个很不好的协议,会存在很多网络安全问题,后面讲到工作原理就会明白,而静态绑定就能起到一定的安全作用

4、每个系统都会提供arp命令

windows系统操作
arp 和 netsh,arp临时生效,重启后失效,netsh可以实现永久生效
arp:(一切操作都是临时,重新失效,一般用于调试)

1、arp -a (查看arp缓存表)
2、arp -d 接口ip (清空arp信息,不加ip就是清空所以)

netsh:(管理员权限运行cmd)

1、netsh /? (命令帮助文档)
2、netsh i i show in (查看网卡的Idx值,需要用于配置)
3、netsh -c i i add neighbors 11 192.168.124.1 44-1a-fa-e2-44-0e (静态绑定,重启后也生效)
在这里插入图片描述
4、netsh -c i i add ne Idx IP Mac store=active (表示临时绑定)
5、netsh -c i i del ne Idx (删除静态绑定)

命令解析:netsh -c interface ipv4 可以简写成netsh -c i i
netsh -c interface ipv4 add /? (可以通过/?查看当前配置)
在这里插入图片描述

linux系统操作:https://blog.csdn.net/yangshihuz/article/details/103869076

工作流程

在这里插入图片描述

1、主机A要访问主机B,A主机先查看本地arp缓存是否有去往B主机绑定信息,如果有的话直接通讯
2、本地没有arp缓存信息,A主机发送arp请求帧广播通知全网所有主机,帧中包含自己的IP和MAC及对方IP,子网主机收到后查看是否跟自己IP匹配,不匹配丢弃
3、B主机匹配上后,本地先添加arp表项
4、B主机单播帧响应主机A(包含自己的IP和MAC)
5、A主机收到后,本地添加arp表项,生成老化时间,时间到后,重复上面的过程

下面直接抓包分析
1、免费arp

确保自己用的IP地址没有在网络中冲突
在把地址配置到网卡前,发给自己广播arp,看网络中是否有人使用,没有回复报文就说明地址可以使用

在这里插入图片描述
2、arp请求

本地没有缓存情况下,广播发送arp请求

在这里插入图片描述
3、arp响应

目的主机收到后,先存储对方的arp信息,然后响应对方

在这里插入图片描述
下面看下剩余的几个字段
在这里插入图片描述
好了,很简单的就把arp的报文结构学完了,最主要的还是了解前3个就够了

问题时间:
1、arp协议属于tcp/ip协议几层

图上可以看到并没有三层IP头部存在,所以肯定不是三层,可以叫二层或者2.5层

2、同一子网内会存储目的P地址和MAC地址,如果跨子网的话是没有存储目的IP和MAC信息

因为跨子网通讯就全部由网关代理通讯,所有的请求就给了网关,存储的信息也就是网关的IP和MAC,交换机上可以查到整个网络arp信息
对IP这些不懂的可以看:我写的关于IP博客

3、从arp报文上看到双向交互信息是没有任何验证机制的,所以arp协议是个不好的协议,但也是个伟大的协议

那么针对这个特性,网络中就会有很多关于arp协议引起的问题,也是黑客或者不怀好意的人利用

arp欺骗
冒充网关或者子网其他IP,导致自己上不了网
在这里插入图片描述
arp中间人攻击
冒充网关欺骗,然后自己作为源目2放的网关,进行信息窃取等操作
在这里插入图片描述
子网扫描
通过arp协议广播请求,就能知道整个子网的IP和MAC信息,特点是对方都是同一个地址
在这里插入图片描述
arp泛红
利用免费arp,不断发送子网ip存在信息,导致真实的主机获取不到IP信息

总结:方式多种多样,但是理解了arp原理后大致的都能通过抓包分析出

结合网络:

1、可以系统进行静态绑定,PC不多的情况下,多数还是要结合网络设备来实行安全措施(控制性强)
2、进行入网认证,把危害隔离在外
3、网络设备针对接口限制发送arp频率等相关策略设置
4、静态接口绑定MAC(量大很痛苦)
5、子网里PC数量不要过多
6、通过端口镜像拿到整个设备的流量,通过wireshark分析arp协议是否存在危害

方法其实很多,我这边就想出这么多,谁还有其他想法,可以留言,共勉学习。

发布了37 篇原创文章 · 获赞 14 · 访问量 1385

猜你喜欢

转载自blog.csdn.net/yangshihuz/article/details/103866507