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通讯协议也采用客户 ...
随机推荐
- python -- 面向对象编程(类、对象)
一.类 类是用来描述具有相同的属性和方法的对象的集合. 它定义了该集合中每个对象共同拥有的属性和方法. 类是一个独立的单位,它有一个类名,其内部包括成员变量和成员方法,分别用于描述对象的属性和行为. ...
- c# 将checkedListBox选择的值保存再数组中并转换成以指定字符连接的字符串
经常忘记,所以记一下: string[] arr =new string[3]; int b = 0; foreach (string outstr in checkedListBox1.Checke ...
- 什么是jstl表达式,怎么应用
1.介绍 JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能.jstl出现的目的同el一样也是要代替jsp页面中的脚 ...
- 03_Nginx支持SSL
1.申请证书 https://freessl.cn/ 2.创建证书 3.离线生产 4.下载Keymanager https://keymanager.org/ 5.打开生产密钥 6.DNS验证 进入域 ...
- 第二十六篇 -- wifi学习
参考网址:https://blog.csdn.net/zwl1584671413/article/details/77936950 https://blog.csdn.net/Righthek/art ...
- 使用C#winform编写渗透测试工具--端口扫描
使用C#winform编写渗透测试工具--端口扫描器 主要介绍使用C#winform编写渗透测试工具--端口扫描器,端口扫描器则是一种检测服务器或者主机虚拟端口是开启或关闭的工具.由于连接到局域网或互 ...
- IOS真机调试找不到设备:ERROR: Could not connect to lockdownd, error code -[x]
报错信息: Could not connect to lockdownd, error code -3 解决方法:修改var/db/lockdown文件夹的读写权限 在终端找到文件夹cd var/db ...
- 自学linux——3.编辑器vim的使用
编辑器之神--vim 一. vim的三种模式 1.命令模式(打开文件后默认模式) 不能直接对文件编辑,可以输入快捷键进行一些操作 2.编辑模式 对文件的内容进行编辑 3.末行模式(尾行模式) ...
- js遍历终极大法--再也不用苦逼的for循环了
while循环 while后面跟循环条件和执行语句,只要满足条件,就会一直执行里面的执行 var i = 0 while(i<10){ console.log(i) i++ } do...whi ...
- Android菜鸟进字节跳动,居然是看了这个......
谈谈我的真实感受吧- 程序员真的是需要将终生学习贯彻到底的职业,一旦停止学习,离被淘汰,也就不远了. 金三银四.金九银十跳槽季,这是一个千年不变的话题,每到这个时候,很多人都会临阵磨枪,相信不快也光. ...