ARP协议工作原理实验
一、实验目的
验证“在向目的主机发送数据包时会先查询ARP高速缓存,如果ARP高速缓存中已保存了目的主机的MAC地址,不进行ARP查询,使用ARP高速缓存中的MAC地址;如果缓存中没有IP对应的MAC地址,发送ARP请求。”
二、实验设备
一台笔记本电脑操作系统为Windows 10,使用VMware Workstation Pro安装虚拟操作系统Ubuntu19.1。虚拟机使用NAT模式与宿主主机连接。安装Wireshark-3.2.7抓包工具和Win10Pcap工具。(NAT模式的网络拓扑图如下图)

三、实验原理
Ping命令使用ICMP协议。对目的主机进行Ping的原理:源主机对目的主机发送ICMP请求,接收ICMP应答的过程。
ARP协议工作原理:如果不知道目的主机IP地址对应的MAC地址,则会广播发送ICMP请求包,目的主机回应ICMP应答包。
四、实验过程
以Ubuntu来作为一台计算机,对Ubuntu进行Ping操作来模拟发送数据包。使用Wireshark抓包工具捕获数据包,来判断是否有ARP请求发出。
五、实验步骤
1、打开Ubuntu,查看Ubuntu的IP地址及MAC地址(如图1)。

(图1)
2、打开Windows 10操作系统的命令提示符(cmd),输入ipconfig /all查看Windows的IP地址和MAC地址(如图2)

(图2)
输入arp -a查看ARP高速缓存中的IP地址对应的MAC地址(如图3)。其中192.168.81.254为DHCP服务器,192.168.81.1为宿主机虚拟网卡地址。

(图3)
3、打开Wireshark选择Ubuntu所在的网卡适配器,进行抓包。
4、在Windows 10下的cmd输入命令ping 192.168.81.128(如图4)

(图4)
抓得的数据(如图5)抓得的数据包不包含ARP请求包,即在ping操作之前没有进行ARP查询。说明ARP高速缓存中已保存了对方的MAC地址,不进行ARP查询。

(图5)
5、在Windows 10下以管理员权限打开cmd输入arp -d *,清空ARP高速缓存中的IP地址于MAC地址的对应关系,在输入arp -a查看ARP高速缓存中的IP地址与MAC地址的对应关系。(如图6)。

(图6)
6、再次用Wireshark抓包,同时在Windows 10下ping 192.168.81.128,抓的数据包(如图7)。在四次ICMP请求和应答报文前,有一次ARP请求和应答。说明在高速缓存中没有对方的IP地址对应的MAC地址时,会先发送ARP请求,获得IP地址与MAC地址的对应关系。

(图7)
7、再次在cmd中输入arp -a查看ARP缓存中信息(如图8)。

(图8)
六、实验结果
1、ARP高速缓存中存在IP地址和MAC地址的对应关系时,从图5中可以看到在ICMP报文段(ping命令)前没有arp请求和应答(没有ARP数据包)
2、ARP高速缓存中没有IP地址和MAC地址的对应关系时,从图7中可以看到在ICMP报文段(ping命令)前存在一次arp请求和应答。说明ARP高速缓存中没有目标IP地址与MAC地址的对应关系时会发送ARP请求,查询IP地址与MAC地址的对应关系。
七、结论
在发送数据包时会先查询ARP缓存,如果缓存中已保存了对方的MAC地址,不进行ARP查询,使用缓存中的MAC地址;如果缓存中没有IP对应的MAC地址,发送ARP请求。
ARP协议工作原理实验的更多相关文章
- ARP协议工作原理
转载请注明来源:https://www.cnblogs.com/hookjc/ ARP数据包根据接收对象不同,可分为两种: 1. 广播包(Broadcast).广播包目的MAC地址为FF-FF- ...
- TCP/IP协议工作原理简述
TCP/IP协议工作原理简述 // */ // ]]> TCP/IP协议工作原理简述 Table of Contents 1 概要 2 应用层 3 传输层 4 网络层 5 链路层 1 概要 ...
- FTP(文件传输协议)工作原理
目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...
- http协议工作原理及工作流程
什么是url ? url = 协议 + 域名 + 资源路径 比如: https://www.baidu.com/index.html http : 超文本传输协议 https: 安全套接字协议 HTT ...
- HTTP协议-工作原理及消息结构
HTTP协议 HTTP协议是Hyper Test Transfer Protocol(超文本传输协议)的缩写 适用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传输协 ...
- ARP协议工作流程
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机, ...
- HTTP协议工作原理
HTTP简介 超文本传输协议(HTTP:Hypertext Transport Protocol)是万维网应用层的协议,它通过两个程序实现:一个是客户端程序(各种浏览器),另一个是服务器 ...
- http协议工作原理(转)
WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页.WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间 ...
- 【FTP】FTP(文件传输协议)工作原理(SFTP)
目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...
随机推荐
- Oracle执行计划总结
一.ORACLE中常见执行计划 表访问的执行计划 1.table access full:全表扫描.它会访问表中的每一条记录. 2.table access by user rowid:输入源rowi ...
- jumpserver 用户,系统用户和管理用户 普通用户和特权用户 区别
前言 现在很多公司都有在用Jumpserver跳板机 有很多人一直对jumpserver的各种用户还不是很了解 当你了解了这几个概念了之后,就能更好的灵活的运用到分配权限当中去. 下面我们一个一个的说 ...
- 简单图解OSI七层网络模型
Open Systems Interconnection(OSI)定义了一个网络框架:其以层为单位实现了各种协议,同时会将控制权逐层传递. 目前OSI主要作为教学工具被使用,其在概念上将计算机网络结构 ...
- 使用Maven打包可运行jar和javaagent.jar的区别
简介 javaagent 是 Java1.5 之后引入的新特性,其主要作用是在class被加载之前对其拦截,以插入我们的字节码. java1.5 之前使用的是JVMTI(jvm tool interf ...
- edraw mindmaster pro 8.1.0安装破解教程
Edraw MindMaster Pro 8.1.0是一款思维导图(脑图)设计软件,头脑风暴.思维整理.项目策划.团队协作,多场景提升您的效率,功能齐全,个人觉得比xmind好用上手,文章手把手教你安 ...
- 计算距离2020年圣诞节还有x天x时x分x秒
//计算两者相差毫秒数 //创建当前时间和圣诞节时间的Date对象 var d1=new Date(); var d2=new Date('2020/12/25'); //计算相差的毫秒 var d= ...
- python中单例模式的创建
# 单例模式(使用装饰器) def singleton(cls): instance = {} def wrapper(*args,**kwargs): if cls not in instance: ...
- 小白学vue第四天,从入门到放弃(vue指令的使用加高阶函数)
v-on修饰符的使用 .stop 阻止事件冒泡 调用 stopPropagation() .prevent 阻止默认事件 调用 event.preventDefault() .keyCode 键盘事 ...
- Cell Reports | 上海瑞金医院糜坚青等揭示组蛋白酰化/乙酰化修饰比率调控BRD4基因组分布
景杰生物 | 报道 组蛋白翻译后修饰,被认为构成一类超越基因序列的"组蛋白密码",控制着遗传信息的组织层次及其在染色质层面的解读.组蛋白赖氨酸乙酰化是研究最早的一类组蛋白修饰, ...
- postman之变量
前言:postman可以设置(环境变量)和(全局变量) (环境变量):环境变量只能在选择的环境中使用,可以有多组,常用在设置URL和密码当中 (全局变量):只能有一组,整个环境都可以应用 [环境变量] ...