路由交换02-----ARP协议
路由交换协议-----ARP
ARP协议
ARP(Address Resolution Protocol),是根据IP地址获取MAC地址的一个TCP/IP
协议,即将IP地址对应到物理地址,从而实现数据链路层的可达性。
ARP
的数据包是这样的:
硬件类型:发送方需要知道的硬件地址类型,一般为以太网(值为1)。
协议类型:发送方提供的三层协议地址类型,一般为IP。
硬件地址长度和协议长度:硬件地址和协议地址的长度。
操作类型:用来表示这个报文的类型。
1
表示ARP请求2
表示ARP响应3
表示RARP请求4
表示RARP响应
RARP(Reverse Address Resolution Protocol):反向地址转换协议,即将MAC地址对应到IP地址,与ARP相反。
发送方的硬件地址:发送ARP报文设备的MAC地址。
源IP地址:发送方的IP地址。
目标硬件地址:接收方的MAC地址。
目标IP地址:接收方的IP地址。
抓个包看一下:
目的MAC地址为00:00:00:00:00:00
,是因为这是一个广播包。
ARP工作原理
一般网络设备都有一个ARP缓存,用来存放IP地址和MAC地址的关联信息。发送数据之前,首先查找ARP缓存,如果缓存中有IP地址对应的物理地址,那么用此MAC地址封装以太帧发送,如果没有则会广播ARP报文,主机收到ARP报文之后会发送一个ARP回应,这时将这个回应里的MAC地址存放到ARP缓存,然后进行数据的发送,这个缓存的最大时间是20分钟,由于ARP报文不能跨广播域,所以如果目标处于其他网络,那么将数据转发到网关,由网关转发到目标设备。
ARP代理
如果主机要请求的地址主机无法到达,这时在路由器上开启ARP代理,路由器收到主机这样的请求后,会查找自己的路由表,如果存在这个表项,那么路由器将会回应主机,而主机则会误认为路由器就是目标主机从而将报文转发给路由器,路由器再转发报文给真正的目标主机,这样的路由器就成为ARP代理。
免费ARP
主机在开机时要获取IP地址,这时他需要检测自己的IP地址在这个网络中是否是唯一的,以避免地址冲突,这样就会发送一个广播报文,报文中的目的IP就是自己的IP,如果收到回应就说明这个IP地址已经被使用了。
作用:当一个设备被分配了地址或者IP地址变更之后,通过免费,ARP检测自己的IP地址是否冲突。
ARP欺骗的原理就是通过伪造ARP包将ARP包中的IP地址对应到攻击者的MAC地址,再由攻击者转发这个包去真正的目标地址,这样受害者的所有数据包都会被攻击者截获。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App