路由交换协议-----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地址,再由攻击者转发这个包去真正的目标地址,这样受害者的所有数据包都会被攻击者截获。

路由交换02-----ARP协议的更多相关文章

  1. 路由交换04-----STP

    路由交换-----STP STP协议(生成树协议)逻辑上断开环路,防止二层网络的广播风暴的产生. 为什么需要STP协议? 假设有这样一个拓扑: 现在PC1ping网关192.168.1.3,而这个网关 ...

  2. 路由交换01-----ICMP协议

    路由交换协议------ICMP ICMP协议 ICMP (InternetControl Message Protocol)协议是TCP/IP协议簇的核心协议之一,用来在网络设备之间传递各种差错和控 ...

  3. 自研DCI网络路由交换协议DCIP-白牌交换机时代的企业网络

    一转眼从听华为3Com的路由交换课程到如今已经13年有余了,依稀记得第一节课的时候我带着老婆去听的课(老婆是日语系的.那时还是女朋友,并不懂网络,仅仅是跟着我去上课的).抢了个头排,讲师宋岩老师提问了 ...

  4. ARP协议详解RARP

    简单来说,ARP协议是IP地址转换成MAC地址的协议.链路层协议.过程如下: 1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系. 2:当源主机要 ...

  5. TCP/IP协议---ARP协议

    ARP协议 以下就默认在以太网类型的网络. 这个协议的作用是通过ip地址(32bit)找到硬件地址(48bit).顺便提一下:在一个局域网里,大家常见的设备交换机,交换机上的主机在互相通信时,实际用的 ...

  6. 图解ARP协议(五)免费ARP:地址冲突了肿么办?

    一.免费ARP概述 网络世界纷繁复杂,除了各种黑客攻击行为对网络能造成实际破坏之外,还有一类安全问题或泛安全问题,看上去问题不大,但其实仍然可以造成极大的杀伤力.今天跟大家探讨的,也是技术原理比较简单 ...

  7. ICMP,ARP协议

    ICMP ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制 ...

  8. 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105138313 学习课程:<2019王道考研计算机网络> 学习目的 ...

  9. ARP协议

    ARP协议就是一个获取对方MAC地址的协议,ARP协议它是一个网络层的协议,它的作用是通过ARP request报文来获得对方的MAC地址,ARP报文里面发送的内容大概是192.168.1.20你的M ...

随机推荐

  1. Kafka项目实战-用户日志上报实时统计之分析与设计

    1.概述 本课程的视频教程地址:<Kafka实战项目之分析与设计>  本课程我通过一个用户实时上报日志案例作为基础,带着大家去分析Kafka这样一个项目的各个环节,从而对项目的整体设计做比 ...

  2. SQL 必知必会·笔记<10>联结表

    可伸缩(scale) 能够适应不断增加的工作量而不失败.设计良好的数据库或应用程序 称为可伸缩性好(scale well). 联结(JOIN) 联结(JOIN)是一种机制,用来在一条SELECT 语句 ...

  3. SQL 必知必会·笔记<8>分组数据

    1. 使用GROUP BY子句创建分组 示例: SELECT vend_id, COUNT(*) AS num_prods FROM Products GROUP BY vend_id; 注意 GRO ...

  4. ARM64 Linux kernel virtual address space

    墙外通道:http://thinkiii.blogspot.com/2014/02/arm64-linux-kernel-virtual-address-space.html Now let's ta ...

  5. Python程序每日一练习

    问题一:做为Apple Store App独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用Python如何生成200个激活码(或者优惠券)? 简介:通用唯一识别码(英语:Unive ...

  6. Struts2学习(四)———— ognl表达式、值栈、actionContext之间的关系

    一.什么是Ognl? 通过百度百科查询到的解释,其中详细的说明了OGNL的作用. 下面我们就对OGNL这5个作用进行讲解 1.存取对象的任意属性,简单说就是对javabean进行操作(重要) 2.调用 ...

  7. 使用Asp.Net Core MVC 开发项目实践[第一篇:项目结构说明]

    先从下图看整体项目结构: Mango.Manager: 为后台管理项目 Mango.Web: 为前台项目 Mango.Framework.Core: 为常用的基础操作类项目 Mango.Framewo ...

  8. C# Azure 远程调试

    Azure上的配置 1. 登录我们自己的app,开启远程调试 [远程调试]—> 打开 [远程 Visual Studio 版本] –> 2017,看你是什么版本 这里有点需要注意的是,如果 ...

  9. 用JDOM解析XML文件时如何解决中文问题?如何解析?

    import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import ja ...

  10. Asp.Net MVC学习总结之过滤器详解(转载)

    来源:http://www.php.cn/csharp-article-359736.html   一.过滤器简介 1.1.理解什么是过滤器 1.过滤器(Filters)就是向请求处理管道中注入额外的 ...