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)
上一篇 2025年8月1日 下午8:15
下一篇 2025年8月1日 下午8:43


相关推荐

  • 注册境外邮箱有哪些_腾讯会员邮箱登录

    注册境外邮箱有哪些_腾讯会员邮箱登录TOMVIP邮箱可在客户端绑定,支持多个终端邮件同步。163VIP邮箱超大容量、邮件群发效果好、微信邮件实时提醒,企业版邮箱也可以使用误删恢复功能。

    2026年2月23日
    5
  • Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法

    Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法Linuxcrontab 每 5 秒钟执行一次 shell 脚本的方法由于 Linux 的 crontab 的定时命令格式如下 minutehourda of monthmonth of yearday of weekcommands 意味着标椎定时任务中 最小定时周期是分钟 但是 由于实际应用中 可能需要每 5 秒就要求执行某个 shell 脚本 该如何实现呢 本文中提供如下方式 间隔调用 sh

    2026年3月26日
    1
  • QComboBox下拉框给选项增加删除按钮

    QComboBox下拉框给选项增加删除按钮0 前言给下拉框增加按钮是常见的功能 如账号输入框的下拉 网上有不少 Qt 实现的例子 实现方式也很多 在参照了别人的思路后我也实现了选项带按钮的下拉框 中间遇到不少坑 最后效果也不完美 1 实现过程我选的是 QListWidget QListWidgetI 的方式 因为感觉相对简单点 而且和样式表更好搭配 这种方式主要是把 QListWidget 作为 QComboBox 的 View List 的 model 也设置为 QComboBox 的 model 这样展现出

    2026年3月19日
    1
  • platform device和platform driver

    platform device和platform driver从Linux2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。Linux中大部分的设备驱动,都可以使用这套机制,设备用Platform_device表示,驱动用Platform_driver进行注册。Li

    2022年7月24日
    16
  • Windows系统如何配置pycharm的anaconda环境

    Windows系统如何配置pycharm的anaconda环境1 anaconda 和 pycharm 的下载点击进入 anaconda 官网 anaconda 官网或者点击下面直接下载对应版本 点击下载 win64 位的 anaconda 点击下载 win32 位的 anaconda 点击进入 pycharm 官网 pycharm 官网或者点击下面直接下载 32 位 64 位通用 点击下载 pycharm 32 位 amp 64 位 不会安装的小伙伴请看我的另一篇博客 包会 Windows 系统零基础下载安装搭建环境教程 2 pycharm 配置 anaconda 环境两者都安装好后 打开 p

    2026年3月27日
    3
  • laravel 框架的tosql打印出来的sql未绑定参数,怎么可以打印带参数的sql?[通俗易懂]

    laravel 框架的tosql打印出来的sql未绑定参数,怎么可以打印带参数的sql?

    2022年2月17日
    35

发表回复

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

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