路由交换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地址,再由攻击者转发这个包去真正的目标地址,这样受害者的所有数据包都会被攻击者截获。
路由交换02-----ARP协议的更多相关文章
- 路由交换04-----STP
路由交换-----STP STP协议(生成树协议)逻辑上断开环路,防止二层网络的广播风暴的产生. 为什么需要STP协议? 假设有这样一个拓扑: 现在PC1ping网关192.168.1.3,而这个网关 ...
- 路由交换01-----ICMP协议
路由交换协议------ICMP ICMP协议 ICMP (InternetControl Message Protocol)协议是TCP/IP协议簇的核心协议之一,用来在网络设备之间传递各种差错和控 ...
- 自研DCI网络路由交换协议DCIP-白牌交换机时代的企业网络
一转眼从听华为3Com的路由交换课程到如今已经13年有余了,依稀记得第一节课的时候我带着老婆去听的课(老婆是日语系的.那时还是女朋友,并不懂网络,仅仅是跟着我去上课的).抢了个头排,讲师宋岩老师提问了 ...
- ARP协议详解RARP
简单来说,ARP协议是IP地址转换成MAC地址的协议.链路层协议.过程如下: 1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系. 2:当源主机要 ...
- TCP/IP协议---ARP协议
ARP协议 以下就默认在以太网类型的网络. 这个协议的作用是通过ip地址(32bit)找到硬件地址(48bit).顺便提一下:在一个局域网里,大家常见的设备交换机,交换机上的主机在互相通信时,实际用的 ...
- 图解ARP协议(五)免费ARP:地址冲突了肿么办?
一.免费ARP概述 网络世界纷繁复杂,除了各种黑客攻击行为对网络能造成实际破坏之外,还有一类安全问题或泛安全问题,看上去问题不大,但其实仍然可以造成极大的杀伤力.今天跟大家探讨的,也是技术原理比较简单 ...
- ICMP,ARP协议
ICMP ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制 ...
- 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105138313 学习课程:<2019王道考研计算机网络> 学习目的 ...
- ARP协议
ARP协议就是一个获取对方MAC地址的协议,ARP协议它是一个网络层的协议,它的作用是通过ARP request报文来获得对方的MAC地址,ARP报文里面发送的内容大概是192.168.1.20你的M ...
随机推荐
- Java 面试基础总结(一)
1.九种基本数据类型的大小以及它们的封装类 java提供的九种基本数据类型:boolean.byte(1).char(2).short(2).int(4).long(8).float(4).doubl ...
- 【PyTorch深度学习60分钟快速入门 】Part4:训练一个分类器
太棒啦!到目前为止,你已经了解了如何定义神经网络.计算损失,以及更新网络权重.不过,现在你可能会思考以下几个方面: 0x01 数据集 通常,当你需要处理图像.文本.音频或视频数据时,你可以使用标准 ...
- C# GDI+编程之绘图
在了解绘图之前,我们先讲几个预备知识 一.坐标系 坐标系是图形设计的基础.GDI+使用三个坐标空间:世界.页面和设备,其中,世界坐标是用于建立特殊图形世界模型的坐标系,也是在.NET Framewor ...
- [Luogu 3401] 洛谷树
Description 有一棵树,要求支持 查询两点间简单路径的所有子链的异或和的和 修改某条边的权值 Solution 这种树上异或问题首先应该想到对于每个点存下一个前缀异或和表示这个点到根节点路径 ...
- [PHP] 算法-复制复杂链表的PHP实现
复杂链表的复制: 1.在旧链表中每个结点的后面复制出一个结点,隔代 2.把旧链表的随机指向部分,复制到新添加的结点上 3.把新结点从旧链表中拆分出来成新链表 1. linklist=head whil ...
- Centos7下开启80端口
firewall-cmd --zone=/tcp --permanent 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 -- ...
- 【Java基础】3、Java 位运算(移位、位与、或、异或、非)
public class Test { public static void main(String[] args) { // 1.左移( << ) // 0000 0000 0000 0 ...
- ubuntu安装docker以及基本用法
ubuntu安装docker以及基本用法 一.安装 安装前先更新apt-get源到最新版本 apt-get update 使用ubuntu自带的docker安装包安装docker apt-get in ...
- Jetbrains IDE 中 compass sass 设置
环境 Ubuntu 13.10 1. 安装ruby sudo apt-get install ruby 如果后面安装 compass 时遇到安装失败,提示:“[Ubuntu] ERROR: Faile ...
- 小tips:JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...