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表中获取。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • navicat15 临时激活码(最新序列号破解)

    navicat15 临时激活码(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • Alex 的 Hadoop 菜鸟教程: 第6课 Hbase 安装教程「建议收藏」

    Alex 的 Hadoop 菜鸟教程: 第6课 Hbase 安装教程「建议收藏」这次给大家介绍一下Hbase的概念和安装教程

  • C语言实现关机程序

    C语言实现关机程序这次写一个关机程序,要知道关机程序是shutdown这是关机指令。但这是系统指令,所以要调用执行系统命令的函数,system,但是也要引system的头文件:stdlib.h边写代码边解释#include<stdio.h>#include<stdlib.h>//调用system函数所需的头文件#include<string.h>//调用strcmp所需的头文件intmain(){charinput[20]={0};//这里是创建一个存储字符的数

  • 一分钟学会Python中pip的安装与使用

    一分钟学会Python中pip的安装与使用文章目录一、简单介绍二、下载安装三、最常用命令1、显示版本和路径2、获取帮助3、升级pip4、安装包5、升级包6、卸载包7、搜索包8、显示安装包信息9、列出已安装的包10、查看指定包的详细信息一、简单介绍pip是Python包管理工具,该工具提供了对Python包的查找、下载、安装和卸载的功能,现在大家用到的所有包不是自带的就是通过pip安装的。Python2.7.9+或Python3.4+以上版本都自带pip工具。给出pip官网链接:pip官网。二、下载安装可以通过命令

  • git 清除用户名密码

    清空所有用户名和密码:gitconfig–system–unsetcredential.helper只用这一个命令就可以,如果不好使可以参照下面命令查看config配置:gitconfig–list查看git用户名:gitconfiguser.name清除缓存的用户名和密码:gitcredential-manageruninstall更改全局用户名:g…

  • ubuntu下安装中文输入法_ubuntu下载中文输入法

    ubuntu下安装中文输入法_ubuntu下载中文输入法文章目录前言基础准备ibus(IntelligentInputBus)fcitx(FlexibleInputMethodFramework)前言Ubuntu中安装中文输入法相比Windows上要复杂不少(其实也不算复杂,就是步骤上要稍微多一些)。这篇文章将基于UbuntuDesktop20.04进行中文输入法安装说明。基础准备首先要安装中文输入法的话ibus(IntelligentInputBus)fcitx(FlexibleInputMethodFramework)

发表回复

您的电子邮箱地址不会被公开。

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