wireshark抓取arp包分析_dns协议抓包分析

wireshark抓取arp包分析_dns协议抓包分析使用Wireshark工具抓取ARP协议的数据包,分析ARP协议的地址解析过程、自主学习逻辑以及初次访问和多次访问的区别。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》

使用Wireshark工具抓取ARP协议的数据包,分析ARP协议的地址解析过程、自主学习逻辑以及初次访问和多次访问的区别。

第一步:Ping本网段内任意主机

1)cmd执行下面这条命令获取局域网内所有主机:

for /L %i IN (1,1,254) DO ping -w 2 -n 1 192.168.31.%i

命令的意思是:ping 192.168.0.1 到 192.168.0.255 之间的所有IP,注意将IP地址的第3位改成自己的网段。

2)cmd执行 arp -a 命令,从ARP表中查看本网段内有哪些主机。

在这里插入图片描述

3)记录一个本网段的IP,然后 arp -d 清空ARP表

在这里插入图片描述
4)cmd执行 arp -a,验证ARP表已被清空(第五步会解释为什么要清空)

在这里插入图片描述
5)Wireshark开启抓包后,ping 本网段的IP

在这里插入图片描述

第二步:过滤ARP协议的数据包

显示过滤器中输入:arp,过滤ARP协议的数据包。

在这里插入图片描述

抓到了两个数据包,第一个包是ARP请求包,第二个包是ARP响应包。

第三步:数据包分析

先分析一下这两个数据包做了什么

1)先看第一个数据包,源地址(Source字段)是我自己的MAC地址

在这里插入图片描述

cmd 执行 ipconfig /all 验证一下:

在这里插入图片描述
目标地址(Destination字段)是 Broadcast,就是广播的意思
Info 字段,是对当前动作的描述:

在这里插入图片描述
总结一下第一个数据包做了什么:
我的电脑,发送了一个广播,广播的内容是 “谁是192.168.31.118?告诉192.168.31.121”
192.168.31.121是我电脑的IP,意思就是:呼叫192.168.31.118,收到请回复我。

4)第二个数据包的目的地址(Destination 字段)是我电脑的MAC地址

在这里插入图片描述
结合 Info 字段的信息,总结一下第二个数据包做了什么:
有个主机,向我的电脑发送了一个信息,信息的内容是 “192.168.31.118 是 74:b5:87:db:06:ac”
这个主机把MAC地址告诉了我的电脑。

综上所述,我们可以得出一个结论:

ARP地址解析协议就像一个队内语音,他会向局域网内所有主机广播请求,索要目标IP的MAC地址;知道的主机就会响应具体的MAC地址。

第四步:数据内容分析

接下来我们根据包的数据分析一下,这两个包是怎么做的

1)第一个包的数据,重点看我圈起来的两个地方

  • 第一处:ARP后面的括号里是 request,说明这是个请求包
  • 第二处:源IP、源MAC、目标IP都有值,目标MAC却全是0,意思就是告诉他们:我不知道这个IP的MAC地址。

在这里插入图片描述
2)第二个包的数据,重点看我圈起来的两个地方

  • 第一处:ARP后面的括号里是 reply,说明这是个响应包
  • 第二处:源IP、源MAC、目标IP、目标MAC都有值,接收方可以从这里获取IP对应的MAC地址。

在这里插入图片描述

第五步:ARP自主学习

还记得第一步的时候,我们清空了ARP表吗?

再次使用 arp -a 查看ARP表

在这里插入图片描述

可以发现,表中添加了我们刚才 ping 的IP,以及对应的MAC地址,这就是ARP的学习能力:解析成功的MAC地址会被临时缓存,以节约资源。

第六步:再次访问

1)Wireshark开启抓包,重新访问这个主机

在这里插入图片描述
2)查看ARP请求包的目的MAC地址

在这里插入图片描述
由于是第二次访问,ARP表中已经缓存了MAC地址,所以这次ARP请求不再广播,而是直接从ARP表中获取。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196417.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mac book Pro_mac安装sas

    Mac book Pro_mac安装sasMacPorts和Homebrew都是MacOSX上的软件包管理工具(viaWikipedia),且它们之间是不兼容的.个中好处就不介绍了,这里要说的是删除MacPorts并安装Homebrew.准备条件:Mac是自带Ruby程式的,如果你之间”处理”过它,记得要确保它的…

    2022年9月21日
    0
  • EnterpriseLibrary6.0 log2database

    EnterpriseLibrary6.0 log2database1、引用EnterpriseLibrary6.0相关dll2、安装Microsoft.Practices.EnterpriseLibrary.ConfigConsoleV6.vsix  主要为了方便编辑config文件,不是必须安装,安装后需要更改解决方案属性,将EnterpriseLibraryv6binariespath指向企业库6.0的bin目录3、执行sql脚本创…

    2022年10月20日
    0
  • java游戏开发实例,吐血整理「建议收藏」

    java游戏开发实例,吐血整理「建议收藏」专题1:JavaOOP1、什么是B/S架构?什么是C/S架构2、Java都有哪些开发平台?3、什么是JDK?什么是JRE?4、Java语言有哪些特点5、面向对象和面向过程的区别6、什么是数据结构?7、Java的数据结构有哪些?8、什么是OOP?9、类与对象的关系?10、Java中有几种数据类型11、标识符的命名规则。12、instanceof关键字的作用13、什么是隐式转换,什么是显式转换14、Char类型能不能转成int类

    2022年7月7日
    40
  • acwing-170. 加成序列(迭代加深)「建议收藏」

    acwing-170. 加成序列(迭代加深)「建议收藏」满足如下条件的序列 X(序列中元素被标号为 1、2、3…m)被称为“加成序列”:X[1]=1X[m]=nX[1]<X[2]<…<X[m−1]<X[m]对于每个 k(2≤k≤m)都存在两个整数 i 和 j (1≤i,j≤k−1,i 和 j 可相等),使得 X[k]=X[i]+X[j]。你的任务是:给定一个整数 n,找出符合上述条件的长度 m 最小的“加成序列”。如果有多个满足要求的答案,只需要找出任意一个可行解。输入格式输入包含多组测试用例。每组测试用例占据一行,包含

    2022年8月8日
    3
  • ya系列圆振动筛_L型厨房设计好不好

    ya系列圆振动筛_L型厨房设计好不好‘资料下载链接’:https://download.csdn.net/download/dwf1354046363/21778034YAH2460型圆振动筛设计摘要目前我国各种选煤厂使用的设备中,振动筛(筛分机)是问题较多、维修量较大的设备之一。这些问题突出表现在筛箱断梁、裂帮、稀油润滑的箱式振动器漏油、齿轮打齿、轴承温升过高、噪声过大等问题,同时伴有传动带跳带、断带等故障。这类问题直接影响了振动筛(筛分机)的使用寿命,严重影响了生产。YAH—2460型圆振动筛可以很好的解决此类问题,因此本

    2022年10月2日
    0
  • Ubuntu配置maven环境变量[通俗易懂]

    Ubuntu配置maven环境变量[通俗易懂]Ubuntu配置maven环境变量先用SFTP上传解压缩tar-zxfapache-maven-3.8.5-bin.tar.gz重命名文件夹mvapache-maven-3.8.5maven编辑环境变量sudovim/etc/profile我服务器上maven的解压之后的地址就是/usr/local/software/maven,所以下面环境变量配置如此。让环境变量生效source/etc/profile验证maven版本mvn-v

    2022年6月18日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号