第7章 网络层协议(3)_ARP协议
3. ARP协议
3.1 ARP(Address Resolution Protocol)协议的工作过程和安全隐患
(1)计算机A和C通信之前,先检查ARP缓存中是否有计算机C的IP地址对应的MAC地址。如果没有,就启用ARP协议发送一个ARP广播请求解析192.168.0.4的MAC地址。ARP广播帧目标MAC地址是FF-FF-FF-FF-FF-FF。
(2)交换机将ARP广播帧转发到同一个网络的全部端口。这意味着同一个网段中的计算机都能够接到该ARP请求。
(3)正常情况下,只有计算机C收到该ARP请求后发送ARP应答消息。还有不正常情况,网络中任何一台计算机都可以发送ARP应答,有可能告诉计算机A一个错误的MAC地址(ARP欺骗)
(4)计算机A将解析到的结果保存在ARP缓存中(可通过arp -a命令查看),并保留一段时间,后续通信就使用缓存的结果,就不再发送ARP请求解析MAC地址。
3.2 ARP欺骗之“网络执法官”
(1)“网络执法官”局域网管理辅助软件
可以通过周期性地解析本网段IP地址和MAC地址来统计哪些计算机在线和下线,它能够利用ARP欺骗来禁止与“关键主机”的通信或禁止与网络中所有计算机通信,并指定哪些地址是“关键主机”。
(2)“网络执法官”测试:禁止局域网内的某台计算机访问Internet
①选择“监控范围”(如192,168.80.1-192.168.80.254)并添加。这时软件会发送ARP请求给这个范围的每一个地址,通过统计收到的ARP响应,来发现网段有多少计算机在线。
②设置“关键主机”:“设置”菜单→“关键主机”→指定IP并添加。这里可以指定网关地址。
③限制计算机A与关键主机(D)通信:选中计算机A→右键“设定权限”→选择“发现该用户与网络连接即进行管理” →并选择“禁止与关键主机的TCP/IP连接”。如此,该计算机就不能与网关通信,即不能访问Internet。可以通过arp –a 命令查看到,该计算机A解析到网关的mac地址是一个错误的地址。
3.3 判断和防止ARP欺骗的方法
(1)故障现象:计算机不能和同一网段的某个计算机通信,但和其他计算机通信正常。如果不是双方防火墙设置引起,就很可能是ARP欺骗引起的网络故障。
(2)原因分析:如前面计算机A不能ping通网关,在排除了防火墙设置导致后,可以通过arp –a查看缓存的mac地址表中网关地址是否正确。如果不一致,就是ARP欺骗造成的网络故障了。
(3)解决方案:为计算机A添加MAC地址静态映射
①arp -s 192.168.80.2 00-50-56-FD-90-E2 (网关IP和mac地址)。
②由于A和网关通信不再需要ARP协议来解析对方的MAC地址,“网络执行官”就不能通过ARP执行欺骗,网络就会通。
③说明:删除映射arp -d 192.168.80.2
3.4 扩展思考
(1)计算机A和B能否互通?
①A和B连接在同一交换机上。但所处网段不同。
②A和B互设对方为自己的网关(否则是不通。注意,这与第5章的5.2节案例是不同的!)
(2)互通的原因
①当计算机A ping 计算机B时,由于IP不在同一网段。尽管连接在同一交换机,但仍需要网关来转发。因此A就发送ARP请求(广播)网关B的MAC地址。由于同一交换机,这个广播会被转发到交换机的各个接口上,因此B会收到这个请回,如此A就能解释出B的MAC地址。因此A能ping通B。
②同理,B也能ping通A。
第7章 网络层协议(3)_ARP协议的更多相关文章
- 《TCP/IP详解卷1:协议》第11章 UDP:用户数据报协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
一.网络编程 软件开发架构 C/S架构 C:客户端 想体验服务的时候才会去找服务端体验服务 S:服务端 24小时不间断的提供服务,即时监听,随时待命 B/S架构 B:浏览器 想体验服务的时候 ...
- 【RL-TCPnet网络教程】第33章 SMTP简单邮件传输协议基础知识
第33章 SMTP简单邮件传输协议基础知识 本章节为大家讲解SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)的基础知识,方便后面章节的实战操作. (本 ...
- 【RL-TCPnet网络教程】第25章 DHCP动态主机配置协议基础知识
第25章 DHCP动态主机配置协议基础知识 本章节为大家讲解DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),通过前面章节对TCP和UDP ...
- (71)一篇文章带你熟悉HTTP协议
作者:涤生_Woo链接:http://www.jianshu.com/p/6e9e4156ece3來源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 本篇文章篇幅比较长,先 ...
- 第一篇 网站基础知识 第5章 自己动手实现HTTP协议
第5章 自己动手实现HTTP协议 我们知道HTTP协议是在应用层解析内容的,只需要按照它的报文的格式封装和解析数据就可以了,具体的传输还是使用的Socket,在第4章NioServer的基础上自己做一 ...
- 第五章Web应用与应用层协议
Web应用与应用层协议 本篇博文中的主要参考文献是<计算机网络高级教程>,分别是吴功宜老先生和吴英教授合著.这部教程是我研究生老师所推荐的网络必读科目,由于该教程讲解的基础知识详细,但内容 ...
- 【知识强化】第四章 网络层 4.3 IP
这节课我们来学习一下IP数据报的格式.那之所以把路由算法这一小节跳过呢,就是因为我们之后会要讲到路由的选择协议.那在路由选择协议这一块讲路由算法,我觉得是比较合适的.那我们先来看一下这节课要讲的知识. ...
- TCP协议与UDP协议的区别
TCP协议与UDP协议的区别(转) 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...
随机推荐
- 几个方便进行micro frontend 开发的工具&&类库
nodejs 类库 从当前来说nodejs 的npm 偏多,因为毕竟面向的是web 编程 tailor 一个layout 服务(基于fragment 的开发方式)https://github.com/ ...
- Meandering Through the Maze of MFC Message and Command Routing MFC消息路由机制分析
Meandering Through the Maze of MFC Message and Command Routing Paul DiLascia Paul DiLascia is a free ...
- [转]HashMap的实现原理
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现.此实现提供所有可选的映射操作,并允许使用null值和null键.此类不保证映射的顺序,特别是它不保证该顺序恒久不变 ...
- [转]ArrayList的实现原理
1. ArrayList概述: ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部 ...
- [转]RPC 框架通俗介绍
关于RPC 你的题目是RPC(远程过程调用,Remote Procedure Call)框架,首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服 ...
- log4j.properties配置说明学习网址
https://blog.csdn.net/wangzhaotongalex/article/details/51308802
- 集群RedHat6.5+JDK1.8+Hadoop2.7.3+Spark2.1.1+zookeeper3.4.6+kafka2.11+flume1.6环境搭建步骤
1.RHEL 6.5系统安装配置图解教程(rhel-server-6.5) 2.在Linux下安装JDK图文解析 3.RedHat6.5上安装Hadoop集群 4.RedHat6.5安装Spark集群 ...
- 使用php生成数字、字母组合验证码
项目中经常会遇到一些登陆验证,支付验证等等一系列安全验证的策略.实现方法多种多样,下面就来讲解下如何用php生成简单的文字+数字组合的验证码: 所用语言php,gd库 原理解释: a>实质上是在 ...
- codeblocks “can't find compiler executable in yourconfigured search ……”
新安装的codeblocks 16.01,安装后打开提示如下,没法用..原因是编译器并没有找对自己安装的 mingw 的安装位置. 解决办法:如下图点击 Auto-detect 之后,会看到位置信息变 ...
- ThinkPHP 3.1.2 视图 MVC-V -5
一.模板的使用 (重点) a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl) ...