ARP 协议抓包分析
ARP(Address Resolution Protocol)- 地址解析分析
ARP 协议是根据IP地址获取物理地址的一个TCP/IP协议。
当PC1 想与 PC2 进行通信时,需要同时知道PC2的IP地址和MAC地址,相当于既要知道“房间号”(相当于IP),也要知道“住户的身份证号”(相当于MAC地址),这样才能保证准确无误
的通信。
ARP工作流程:(以Ping 的方式演示)
1. 首先是一个ARP请求过程,由于此时只有IP,没有MAC地址,将使用广播的方式发出,此时以太网帧头部将会将目标MAC地址设为0xFF:FF:FF:FF:FF:FF,使其目标为当前局域网的所有主机,实现广播。而ARP请求协报文中会将MAC地址设为00:00:00:00:00:00,表示MAC不确定。

2. 当非当前IP的PC收到此ARP请求时,会检查请求中的target IP 是否时自己,如果不是,将会丢弃掉这个包。
3. 当是当前IP的PC收到此ARP请求时,会在自己的ARP缓存表中记录此请求的Sender IP和Sender MAC的映射,方便查询使用;
4. 由于已有请求方的IP及MAC地址,此时会选择单播通信,只会想对应的IP发包,告诉对方我的MAC地址

从图中可以看出,发送方单独给我方响应了一个数据包,包含对方的MAC地址,同时也会记录在我方的ARP缓存表中(可通过命令 arp -a 查看)
5. 通过ARP通信完成后,就可以看到Ping的请求和回应的流程了。
ARP 协议抓包分析的更多相关文章
- 网络协议抓包分析——ARP地址解析协议
前言 计算机之间可以相互通信的前提是要知道对方的地址,才可以发送信息给其他计算机,就像别人要联系你也得先知道你的电话号码一样.这里的地址因为网络分层的原因就包括IP地址和MAC地址(即网卡地址.硬件地 ...
- 网络协议抓包分析——TCP传输控制协议(连接建立、释放)
前言 TCP协议为数据提供可靠的端到端的传输,处理数据的顺序和错误恢复,保证数据能够到达其应到达的地方.TCP协议是面向连接的,在两台主机使用TCP协议进行通信之前,会先建立一个TCP连接(三次握手) ...
- 网络协议抓包分析——IP互联网协议
前言 IP协议是位于OSI模型的第三层协议,其主要目的就是使得网络间可以相互通信.在这一层上运行的协议不止IP协议,但是使用最为广泛的就是互联网协议. 什么是IP数据报 TCP/IP协议定义了一个在因 ...
- 计算机网络-DHCP协议抓包分析总结
前置问题:什么是(网络)协议? 网络协议为计算机网络中进行数据交换而建立的规则.标准或约定的集合. 而且: 一个网络协议至少包括三要素: 语法:用来规定信息格式;数据及控制信息的格式.编码及信号电平等 ...
- ARP协议抓包之帧长度和Gratuitous ARP的问题
用Winpcap编程构造ARP包选择网卡并发出,遇到若干问题,学到了许多新知识,但是有的还尚未解决,在这里记录下没解决的和解决的问题. 先来看下ARP协议的格式,ARP字段有28个字节,发到以太网中还 ...
- dhcp协议抓包分析
dhcp协议 DHCP,动态主机配置协议,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client). wires ...
- Wireshark数据抓包分析——网络协议篇
Wireshark数据抓包分析--网络协议篇 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF4dWViYQ==/ ...
- 实战录 | 基于openflow协议的抓包分析
<实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全SDN工程师宋飞虎,将带来基于 ...
- TCP\IP协议实践:wireshark抓包分析之链路层与网络层
目录 TCP\IP协议实践:wireshark抓包分析之链路层与网络层 从ping开始 链路层之以太网封装 ip首部 开启ping程序,开始抓包 由一个ping的结果引出来的两个协议ARP ICMP ...
随机推荐
- [maven学习笔记]第一节,认识maven,搭建maven开发环境,写第一个HelloWorld
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40142771 maven官网:http://maven.apache.org/ 学习视 ...
- kindeditor用法简单介绍
最近做毕业设计用了一个叫做kindeditor的文本编辑工具,相信很多人都用过,这货和fckeditor差不多,个人感觉这个的皮肤更好看,而且对中文的支持更好,没那么容易出现中文乱码问题.下次记录一下 ...
- 【Unity Shaders】《Unity Shaders and Effects Cookbook》总结篇
我的唠叨 不知不觉,从发表第一篇关于<Unity Shaders and Effects Cookbook>已经快十个月了.一开始的初衷就是学习笔记,毕竟将来回过头去看的时候,再看英文难免 ...
- (NO.00005)iOS实现炸弹人游戏(二):素材选择的取舍
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 前面一篇里我们基本明确了游戏的大致玩法和特点.下面就游戏中会用到 ...
- Redis主从和HA配置
1同步原理 摘自:http://www.cnblogs.com/stephen-liu74/archive/2012/03/30/2364717.html "下面的列表清楚的解释了Redis ...
- 为学Android,我看了这些书
刚刚开始新的学习生活时,很容易走错方向,然后,这意味着不知道该学习什么,不知道该怎样学习,很显然,我写下这句话意味着我走过这样的路,为此,就付出了不小的代价,浪费了很多时间. 这篇文章当然 ...
- React Native入门教程 1 -- 开发环境搭建
有人问我为啥很久不更新博客..我只能说在学校宿舍真的没有学习的环境..基本上在宿舍里面很颓废..不过要毕业找工作了,我要渐渐把这个心态调整过来,就从react-native第一篇博客开始.话说RN也出 ...
- XML解析之sax解析案例(二)使用sax解析把 xml文档封装成对象
Demo1类: import java.io.File; import java.util.List; import javax.xml.parsers.SAXParser; import javax ...
- awk 循环语句例子
awk 循环语句例子 运行结果:
- Chipmunk僵尸物理对象的出现和解决(五)
,因为将反弹棒变长和缩短的代码是类似的所以我们只看一个即可,就让我们详细看看缩短的方法吧. +(void)doStickShorterWork:(Stick *)stick{ GameScene *g ...