Wireshark数据抓包分析之ARP协议

一、实验目的:

        通过wireshark的数据抓包了解这个ARP协议的具体内容

二、预备知识:

        1.Address Resolution Protocol协议,就是通过目标IP的值,获取到目标的mac地址的一个协议

        2.ARP协议的详细工作过程,下面描述得非常清晰:

         3.关于上面提到的ARP缓存表这个东西:

(1)首先,这里的ARP缓存表就是利用的计组里面的Cache的那个局部性原理,这样更快

(2)其次,在windows的cmd中可以使用对应的命令查看这个ARP缓存表,

 关于arp -s 这条命令的特别说明

         3.不知道netsh这个东西是干啥的,接着看就好了:

        Netsh(网络 Shell)命令是在 Windows 系统中用于管理和配置网络设置的命令行工具。它提供了对网络接口、IP 地址、防火墙、路由、DNS、WLAN 等网络组件的控制和配置功能


三、实验环境和主要步骤

1. 通过使用Netsh和ARP命令来绑定IP和MAC地址。
2. 在测试环境使用Wireshark抓取ARP数据包。
3. 详细分析ARP请求包和ARP应答包。

 四、实验过程:

part1:分别使用netsh 命令 和 arp命令对 arp缓存表进行相关的操作

1.首先使用netsh i i  show in 命令查看idx为16

 2.然后用netsh -c "i i" add neighbors  16 "10.1.1.11" "01-xx-xx-xx-xx-xx"实现arp数据的添加,并用arp -a查看

 3.用arp -s添加,用arp -d删除:

 

 part2:利用wireshark对由ping命令产生的数据包进行抓取

先打开wireshark,然后在cmd中使用ping 10.1.1.166命令,之后再wireshark中停止捕获,

找到对应含有字符串的"who has 10.1.1.166"这2条过滤出来的arp数据包

 这个不对,因为我之前不小心ping过了一次,这里已经直到了10.1.1.166的mac地址,dst_mac不是ff-ff-ff-ff-ff,用arp -a查看一下

 所以,下面我考虑使用arp -d先删除这一条记录,然后重新进行wireshark的捕获

 这一次才是成功的进行了捕获

part3:对过滤出来的arp请求和应答数据包进行分析:

1.首先,我们看一下arp的请求报文:

先只是单看标题,Frame这一行说明一共有42个字节

以太网那一行,说明了源mac地址是fa-16-3e-fe-c7-f8,目标mac地址是广播地址ff-ff-ff-ff-ff-ff因为只知道目标的ip地址,而不知道目标mac地址,所以只能采用广播的形式,具体打开:

还格外提到了之后那一层协议的类型是ARP

 下面,我们具体看一下这个ARP里面的内容吧:

首先,它说明了自己是request请求报文

以太网的类型,使用ip协议以及对应部分的长度

发送端的mac地址、ip地址 和 未知的目标mac地址 和 已知的目标ip地址

2.再来看一下arp的响应报文:

 先看标题吧,第一行Frame说明有60个字节的数据

第二行,就可以看出这是10.1.1.166这个台机器已经知道了双方的mac地址了

arp的具体内容如下:

 首先,它说明了是一个reply响应报文

然后,就是以太网类型的和ip协议类型等

之后,就是发送和接受双方的mac和ip地址数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/84177.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【安卓】自定义View实现画板涂鸦等功能

一、实现效果 二、代码 1、MainActivity.class package com.lsl.mydrawingboarddemo;import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat;import android.os.Bundle; import android.os.Handler; import android.view.View; impo…

redis实战-项目集成git及redis实现短信验证码登录

目录 IDEA集成git 传统session存在的问题 redis方案 业务流程 选用的数据结构 整体访问流程 发送短信验证码 获取校验验证码 配置登录拦截器 拦截器注册配置类 拦截器 用户状态刷新问题 刷新问题解决方案 IDEA集成git 远程仓库采用码云,创建好仓库&…

RH1288V3 - 初识物理服务器

如果你拥有一台物理服务器(不是云服务器) 个人比较推荐你用物理服务器,虽然性能会比云要来的差,但是不用每月交钱上。云服务固然方便,但是几个核的性能和一点存储,想做一个动漫网站固然要很多mp4这种影视资源,云服务器…

UG\NX二次开发 使用录制功能录制操作记录时,如何设置默认的开发语言?

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,C\C,Qt-CSDN博客 简介: NX二次开发使用BlockUI设计对话框时,如何设置默认的代码语言? 效果: 方法: 依次打开“文件”->“实用…

数据库结构差异对比工具

简介 前几年写了一个数据库对比工具,但是由于实现方式的原因,数据库支持有限,所以重新设计了一下,便于支持多种数据库,并且更新了UI。 新版地址:https://gitee.com/xgpxg/db-diff 旧版地址:h…

Hightopo 使用心得(6)- 3D场景环境配置(天空球,雾化,辉光,景深)

在前一篇文章《Hightopo 使用心得(5)- 动画的实现》中,我们将一个直升机模型放到了3D场景中。同时,还利用动画实现了让该直升机围绕山体巡逻。在这篇文章中,我们将对上一篇的场景进行一些环境上的丰富与美化。让场景更…

SpringCloud学习笔记(三)_服务提供者集群与服务发现Discovery

服务提供者集群 既然SpringCloud的是微服务结构,那么对于同一种服务,当然不可能只有一个节点,需要部署多个节点 架构图如下: 由上可以看出存在多个同一种服务提供者(Service Provider) 搭建服务提供者集…

picGo+gitee+typora设置图床

picGogiteetypora设置图床 picGogitee设置图床下载picGo软件安装picGo软件gitee操作在gitee中创建仓库在gitee中配置私人令牌 配置picGo在插件设置中搜索gitee插件并进行下载 TyporapicGo设置Typora 下载Typora进行图像设置 picGogitee设置图床 当我了解picGogitee可以设置图床…

Cpp学习——编译链接

目录 ​编辑 一,两种环境 二,编译环境下四个部分的 1.预处理 2.编译 3.汇编 4.链接 三,执行环境 一,两种环境 在程序运行时会有两种环境。第一种便是编译环境,第二种则是执行环境。如下图: 在程序运…

Win11安装VMware中的镜像的下载

首先,下载好VMware之后需要许可证,在VMware选择许可证填上即可(可以解决一部分VMware创建虚拟机过程中出现的问题)。 百度网盘自取: 链接:https://pan.baidu.com/s/17gBySqoPi2HeGJJlalp-VQ 提取码&…

opencv 案例实战01-停车场车牌识别实战

需求分析: 车牌识别技术主要应用领域有停车场收费管理,交通流量控制指标测量,车辆定位,汽车防盗,高速公路超速自动化监管、闯红灯电子警察、公路收费站等等功能。对于维护交通安全和城市治安,防止交通堵塞…

list使用

list的使用于string的使用都类似,首先通过查阅来看list有哪些函数: 可以看到函数还是蛮多的,我们值重点一些常用的和常见的: 1.关于push_back,push_front,和对应迭代器的使用 //关于push_back和push_front void test_list1() {l…