第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协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...
随机推荐
- apache geode 试用
使用docker 运行,文档参考的官方的5 分钟学习文档 拉取镜像 docker pull apachegeode/geode 启动 docker run -it -p 10334:10334 -p ...
- JS正则表达式验证身份证号码
function isCardNo(card) { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{1 ...
- java数据类型之间的转换
java的基本数据类型:short, int, long, float, double, char,string 对应的包装类型:Short, Integer, Long, Float, Double ...
- Add task bar to ubuntu
http://www.howtogeek.com/189819/how-to-add-a-taskbar-to-the-desktop-in-ubuntu-14.04/ sudo apt-get in ...
- optimization.splitChunks 中,chunks 的3个值:all、async、initial 的含义
chunks 参数值 含义 all 把动态和非动态模块同时进行优化打包:所有模块都扔到 vendors.bundle.js 里面. initial 把非动态模块打包进 vendor,动态模块优化打包 ...
- django报错解决:Invalid HTTP_HOST header: 'xxx.com'. You may need to add u'xxx.com' to ALLOWED_HOSTS.
django版本:1.11.15 使用uwsgi+nginx运行django程序,出现报错,报错为:Invalid HTTP_HOST header: 'xxx.com:82'. You may ne ...
- bzoj 3600 没有人的算术——二叉查找树动态标号
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3600 已知 l 和 r 的排名,想快速知道 k 的排名.那么建一个 BIT ,用已知的排名做 ...
- Eclipse设置自动提示(转)
一.Eclipse编辑Spring配置文件xml时自动提示类class包名 链接:http://blog.csdn.net/hh775313602/article/details/70176531 第 ...
- 安装centos7启动项配置
安装centos7启动项配置 1.将 setparams 'Install CentOS Linux 7' linuxefi/images/pxeboot/vmlinuz inst.stage2=hd ...
- Delphi 的各种错 误 信 息(中英文)
******************************* * 编 译 错 误 信 息 * ******************************* ';' not allowed befo ...