ARP协议详解
ARP协议:地址解析协议,将IP地址映射到MAC地址。
ARP缓存:每个主机都有存储IP地址和MAC地址的缓冲区。每条记录最长生存时间为10分钟,如果一条记录2分钟没有使用,则会被删除。如果始终在使用,再分配2分钟,直到最长生命周期为止。
动态添加:发送ARP请求后,若网络上的主机发现自己的IP与ARP请求中的IP一致,会将发送方的IP地址和MAC地址记录到本机缓存,并回应ARP响应。发送方收到响应后,将接收方的IP地址和MAC地址记录到本机缓存。等生命周期到了,自动删除。
静态添加:通过ARP命令手动添加,始终存在,重启机器后消失。
ARP命令:可以通过arp -a 或者 arp -g查看本机的arp表。也可手动添加、删除记录。
过程:
A主机向B主机发送数据,要封装IP报头(源IP、目的IP等),再封装以太报头(源MAC、目的MAC)。而A知道自己的IP地址和MAC地址,也知道B的IP地址,却不知道B的MAC地址。此时需要ARP协议得到接收方的MAC地址。
(1)首先查询A主机的ARP缓存,查看是否有与B的IP地址对应的记录。
(2)如果本地ARP缓存中没有该记录,向局域网中广播ARP请求(包括发送方的IP地址、MAC地址、接收方的IP地址),每台主机接收到ARP请求后都检查自己的IP地址是否与ARP请求中的接收方IP地址相同,若不相同则丢弃ARP请求包。
(3)若相同,则B主机将A的IP地址和MAC地址添加到本地ARP缓存,并将自己的MAC地址通过ARP响应报文发送给A主机。
(4)A收到ARP响应报文后,将B的IP地址和MAC地址添加到本地ARP缓存。
ARP攻击:
ARP是建立在网络中主机相互信任的基础之上,主机不对ARP响应进行真实性检查,直接添加到ARP缓存中。黑客可以向主机发送错误的ARP响应,从而使主机发送的数据都发送到黑客的主机,所以有很大的安全隐患。
ARP协议详解的更多相关文章
- ARP协议详解之Gratuitous ARP(免费ARP)
ARP协议详解之Gratuitous ARP(免费ARP) Gratuitous ARP(免费ARP) Gratuitous ARP也称为免费ARP,无故ARP.Gratuitous ARP不同于一般 ...
- ARP协议详解之ARP动态与静态条目的生命周期
ARP协议详解之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自动添加和删除. q 每个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉.所以,生 ...
- ARP协议详解RARP
简单来说,ARP协议是IP地址转换成MAC地址的协议.链路层协议.过程如下: 1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系. 2:当源主机要 ...
- HTTP TCP UDP ICMP IP ARP 协议详解(10.15 第二十一天)
ARP协议 ARP(Address Resolution Protocol)协议 地址解析协议 把网络层的IP地址翻译成在数据链路层寻址的48位硬件地址(MAC地址) 在OSI模型中ARP协议属于链路 ...
- ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御
ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3 ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...
- 【转载】TCP /IP协议详解
首先,TCP/IP不是一个协议,而是一个协议族的统称. 里面包括了IP协议,IMCP协议,TCP协议,以及http.ftp.pop3协议等等. TCP/IP协议分层 提到协议分层,我们很容易联想到IS ...
- 入木三分学网络第一篇--VRRP协议详解第一篇(转)
因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静 ...
- 第3章 TCP协议详解
第3章 TCP协议详解 3.1 TCP服务的特点 传输协议主要有两个:TCP协议和UDP协议,TCP协议相对于UDP协议的特点是 面向连接使用TCP协议通信的双方必须先建立连接,完成数据交换后,通信双 ...
- TCP /IP协议详解【转】
转自:https://www.jianshu.com/p/0cf648510bce?utm_campaign=maleskine&utm_content=note&utm_medium ...
随机推荐
- C#求所有可能的排列组合
static System.Collections.Specialized.StringCollection MakeStrings(string[] characters, int finalStr ...
- Json.Net学习.集合序列化.
只要集合实现了IEnumable接口就可以进行序列化 Json序列化器为序列化及反序列化集合对象提供了良好的支持. ->Serializing 为了序列化一个集合---一个泛型的list,arr ...
- Balanced Lineup 倍增思想到ST表RMQ
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 36864 Accepted: 172 ...
- python获取每颗cpu使用率
以下是关于python来获取服务器每颗CPU使用率的使用脚本. #!/usr/bin/env python # -*- coding: utf-8 -*- import re,time def _re ...
- iOS开发libWeChatSDK.a(WXApiObject.o)' does not contain bitcode.
在使用微信分享的时候可能会报错, 报错如下: ld: '/Users/gti/Documents/********/Lib/SDKExport/libWeChatSDK.a(WXApiObject.o ...
- sql 游标例子 根据一表的数据去筛选另一表的数据
sql 游标例子 根据一表的数据去筛选另一表的数据 DECLARE @MID nvarchar(20)DECLARE @UTime datetime DECLARE @TBL_Temp table( ...
- 【CSS3】---块状元素、内联元素(又叫行内元素)和内联块状元素
元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...
- AjaxPro.2使用小结
这是我最近没事的时候研究的东东,使用AjaxPro.2.dll,从前台调用后台Ajax方法,希望对各位亲有帮助哦.. 1.首先将AjaxPro.2.dll从网上下载下来,打开VS项目,点击项目,右键- ...
- Android高级音频应用
说到音频应用,首先想到的就是音乐播放器.有些播放器可以播放流媒体,有些可以播放本地音乐文件.随着Android平台的演变,需要更多高级的音频API.好在谷歌新增了这方面的API,支持低延迟的音频流媒体 ...
- android View 绘制完成监听
<span style="font-size:18px">//view重绘时回调 view.getViewTreeObserver().addOnDrawListene ...