wireshark捕获arp包_安卓tcp协议抓包分析教程

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

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

Jetbrains全家桶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

Jetbrains全家桶1年46,售后保障稳定

命令的意思是: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/207172.html原文链接:https://javaforall.net

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


相关推荐

  • PLsql 永久注册码「建议收藏」

    PLsql 永久注册码「建议收藏」 注册码:ProductCode:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserialNumber:601769password:xs374ca  原文链接:https://blog.csdn.net/sinat_33142609/article/details/72540025

    2022年7月24日
    553
  • cardview属性_RecyclerView

    cardview属性_RecyclerViewCardView是用于实现卡片式布局效果的重要控件,实际上也是一个frameLayout,只是额外提供了圆角和阴影,看上去有立体效果。效果如下:<?xmlversion=”1.0″encoding=”utf-8″?><androidx.cardview.widget.CardViewxmlns:android=”http://schemas.android.com/apk/res/android”xmlns:app=”http:…

    2022年10月11日
    2
  • Oracle PL/SQL语句基础学习笔记(上)

    Oracle PL/SQL语句基础学习笔记(上)PL/SQL语句基础学习笔记(上)

    2022年10月12日
    4
  • 13个大数据应用案例,告诉你最真实的大数据故事[通俗易懂]

    13个大数据应用案例,告诉你最真实的大数据故事[通俗易懂]   大数据真的太神奇了,真的可以让改变一个企业的运营吗?答案是肯定的。大数据目前是当下最火热的词了,你要是不知道大数据这个概念,都不好意思在众人面前开口了。然而实际上很多人都对大数据的应用模糊不清。现在就让我们从下面十三个大数据应用案例来了解下最真实的大数据故事把,并鲜明得了解大数据在生活当中实际应用的情况。大数据应用案例之电视媒体  对于体育爱好者,追踪电视播放的最新运动赛事几乎是一件不…

    2022年6月4日
    77
  • Socket 非阻塞模式下connect 返回EINPROGRESS(115)错误[通俗易懂]

    Socket 非阻塞模式下connect 返回EINPROGRESS(115)错误[通俗易懂]今天再测试socket的时候,发现一个很奇怪的问题,就是客户端再connect的时候第一次connect总是会返回-1,errno是115,往往第二次连接就可以成功了。但是对于服务端来说,第一次连接已经成功返回了。后来想想可能跟自己的设置socket是非阻塞的有关系,后来吧socket设置成阻塞的,问题确实就没有了。后来有反复尝试了非阻塞的。我先把服务器关闭,让客户端连接,可以发现从打出来的e…

    2022年7月17日
    15
  • 未处理ioexception_connection established

    未处理ioexception_connection established997错误在解释中是重叠IO正在使用中,要么使用acceptEx没有开线程,一些结果没办法处理,要么就是在x64位系统编译中出现的问题。第二种可能性最大。还在解决了,解决了再来更新

    2022年9月27日
    3

发表回复

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

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