手把手教你玩转ARP包(一)【数据包的游戏系列之一】

arp包格式分析及实例解析 一、ARP包格式分析 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。因此在通讯前必须获得目的主机的硬件地址。ARP协议就起到这个作用。源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网 阅读详情

手把手教你玩转ARP包(一)【数据包的游戏系列之一】

前   言

         首先要感谢网络安全资深专家卢湖川博士以及VC网络版的limin朋友提供的资料以及帮助^_^

经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,所以就想写一系列的文章来详细深入的探讨关于数据包的知识,,我希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带有详细注释的源码(为了照顾大多数朋友,我提供的都是MFC的源码)。

不过由于也是初学者,疏漏之处还望不吝指正。

本文凝聚着笔者心血,如要转载,请指明原作者及出处,谢谢!^_^

 

OK,. Let’s go !  Have fun!! q^_^p

 

第一篇         手把手教你玩转ARP包

   目录:

    一.    关于ARP协议的基础知识

     1.        ARP的工作原理

     2.        ARP包的格式

作者:

    优快云  VC/MFC 网络编程 PiggyXP  ^_^

 

一.             关于ARP协议的基础知识

1.ARP的工作原理

本来我不想在此重复那些遍地都是的关于ARP的基本常识,但是为了保持文章的完整性以及照顾初学者,我就再啰嗦一些文字吧,资深读者可以直接跳过此节。

 

我们都知道以太网设备比如网卡都有自己全球唯一的MAC地址,它们是以MAC地址来传输以太网数据包的,但是它们却识别不了我们IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使IP数据包能发到一个确定的地方去。这就是ARP(Address Resolution Protocol,地址解析协议)。

 

讲到此处,我们可以在命令行窗口中,输入

     arp –a

来看一下效果,类似于这样的条目

210.118.45.100    00-0b -5f -e6-c5-d7    dynamic

就是我们电脑里存储的关于IP地址与MAC地址的对应关系,dynamic表示是临时存储在ARP缓存中的条目,过一段时间就会超时被删除(xp/2003系统是2分钟)。

 

这样一来,比如我们的电脑要和一台机器比如210.118.45.1通信的时候,它会首先去检查arp缓存,查找是否有对应的arp条目,如果没有,它就会给这个以太网络发ARP请求包广播询问210.118.45.1的对应MAC地址,当然,网络中每台电脑都会收到这个请求包,但是它们发现210.118.45.1并非自己,就不会做出相应,而210.118.45.1就会给我们的电脑回复一个ARP应答包,告诉我们它的MAC地址是xx-xx-xx-xx-xx-xx,于是我们电脑的ARP缓存就会相应刷新,多了这么一条:

210.118.45.1   xx-xx-xx-xx-xx-xx   dynamic

 

为什么要有这么一个ARP缓存呢,试想一下如果没有缓存,我们每发一个IP包都要发个广播查询地址,岂不是又浪费带宽又浪费资源?

     而且我们的网络设备是无法识别ARP包的真伪的,如果我们按照ARP的格式来发送数据包,只要信息有效计算机就会根据包中的内容做相应的反应.

 

试想一下,如果我们按照ARP响应包的相应的内容来刷新自己的ARP缓存中的列表,嘿嘿,那我们岂不是可以根据这点在没有安全防范的网络中玩些ARP包的小把戏了?在后面的文章里我就手把手来教你们如何填充发送ARP包,不过先别急,我们再继续学点基础知识^_^

 

2.ARP包的格式

 

     既然我们要来做一个我们自己的ARP包,当然首先要学习一下ARP包的格式。

 

     从网络底层看来,一个ARP包是分为两个部分的,前面一个是物理帧头,后面一个才是ARP帧。

         首先,物理帧头,它将存在于任何一个协议数据包的前面,我们称之为DLC Header,因为这个帧头是在数据链路层构造的,并且其主要内容为收发双方的物理地址,以便硬件设备识别。  

DLC Header

字段

长度(Byte)

默认值

备注

接收方MAC

6

 

广播时,为 ff-ff-ff-ff-ff-ff

发送方MAC

6

 

 

Ethertype

2

0x0806

0x0806是ARP帧的类型值

                           图1 物理帧头格式

 

     图1是需要我们填充的物理帧头的格式,我们可以看到需要我们填充的仅仅是发送端和接收端的物理地址罢了,是不是很简单呢?

       接下来我们看一下ARP帧的格式.  

ARP Frame

字段

长度(Byte)

默认值

备注

硬件类型

2

0x1

以太网类型值

上层协议类型

2

0x0800

上层协议为IP协议

MAC地址长度

1

0x6

以太网MAC地址长度为 6

IP地址长度

1

0x4

IP地址长度为 4

操作码

2

 

0x1表示ARP请求包,0x2表示应答包

发送方MAC

6

 

 

发送方IP

4

 

 

接收方MAC

6

 

 

接收方IP

4

 

 

填充数据

18

 

因为物理帧最小长度为64字节,前面的42字节再加上4个CRC校验字节,还差18个字节

                             图2 ARP帧格式

 

我们可以看到需要我们填充的同样也只是MAC,IP,再加上一个1或2的操作码而已。

     ..................

 

    ======================================================================= 
网易 广州 梦幻西游端游 客户端社招笔试题 2024 4道算法题,时间2小时,牛客网笔试注:采用OJ模式,需要自己处理输入、输出。 阅读详情

相关推荐

Markdown编辑器介绍

这篇文章介绍了Markdown编辑器的功能和使用方法。主要内容包括:Markdown的基本语法如标题、列表、链接插入等;新增功能如图片拖拽、数学公式支持、甘特图和UML图表绘制;常用快捷键说明;以及文本导出导入操作。文章详细说明了如何通过Markdown语法实现文本格式化、代码高亮、表格创建等功能,并提供了多种图表绘制的语法示例,帮助用户更好地利用Markdown编辑器进行写作和内容创作。

soso1968的博客 1180

【计算机网络学习笔记09】ARP地址解析协议

【计算机网络学习笔记09】ARP地址解析协议 ARP地址解析协议 在实际应用中,我们常会遇见这样的问题:已知一个机器(主机或路由器)的IP地址,需要找出其相应的硬件,这时就需要使用到地址地址解析协议(Address Resolution Protcol,ARP)。 1 ARP数据包格式 图1 ARP数据包格式 下面介绍 ARP报文中各字段的含义。 (1)硬件地址类型。指明硬件的类型,一般是以太网,值为1。 (2)协议类型。指明发送者映射到数据链路标识的网络层协议类型,一般为P协议,对应值为Ox0800。

正月十六工作室 1万+

OBD诊断协议:OBDⅡ (SAE J1979) 和 OBDonUDS (SAE J1979-2) 和ZEV OBD技术架构的详细对比

摘要:文章对比了2025年最新OBD技术标准(SAEJ1979系列)的三大架构:传统OBD-II(已淘汰)、OBDonUDS(燃油/混动车)和ZEVOBD(新能源车)。核心发现:1)OBDonUDS与ZEVOBD共享UDS协议栈和DoIP通信标准,仅应用层数据(DID/DTC)不同;2)物理层统一为CAN+以太网,支持远程诊断和OTA;3)诊断工具需同时兼容J1979-2/3数据库。技术演进呈现"协议统一化、数据专用化"趋势,2027年后所有新车将强制采用新标准。

m0_56482679的博客 2390

TCP/IP详解——ARP 协议

ARP(Address Resolution Protocol)协议工作在网络层和数据链路层之间,通常被认为是一个跨两层的协议。当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。

来日可期的博客 2万+

超聚变安装银河麒麟服务器系统ky10-server-x86

超聚变-通过BMC口进服务器管理界面如下图为BMC管理口:默认BMC口IP:https://192.168.2.100l浏览器打开网页,输入用户名和密码登陆后,如下图红框处,选择“启动虚拟控制台”——选择“HTML集成远程控制台”系统银河麒麟服务器系统ky10 server x86选择镜像文件X86架构我们一般选择下图2212版本选择启动方式:光驱重启出现安装图形化界面选装安装系统的磁盘系统安装盘选完后如下图,会置灰创建root密码开始安装系统首次进入,有协议界面。

zengliguang的专栏 5965

【Clickhouse从入门到精通】第60篇:ClickHouse生态总结与未来展望

ClickHouse系列收官总结 本文作为《ClickHouse从入门到精通》系列的第60篇收官之作,系统回顾了整个系列的知识体系。文章从基础概念到高级应用,全面梳理了ClickHouse的核心技术: 知识体系:完整回顾了60篇文章的知识图谱,包括列式存储原理、MergeTree引擎家族、分布式架构等核心内容 生态工具:详细盘点了ClickHouse的企业版工具、运维监控、数据集成和可视化方案 版本演进:分析了从21.x到24.x的主要版本特性升级 未来趋势:展望了向量化引擎、湖仓一体、AI集成等发展方向

xyghehehehe的专栏 441

计算机网络-----ARP协议

ARP协议的简单介绍

qq_54381110的博客 1569

Agent 长期记忆三代演进:从 RAG 到 Memory Graph,mem0 / Zep / LangMem / Letta 深度横评

文章摘要 2026年,Agent长期记忆技术迎来关键突破,OpenAI、Anthropic等厂商通过扩大上下文窗口和推出记忆工具,推动长期记忆从工程补丁发展为独立技术层。本文通过分析三代记忆架构演进(RAG→结构化Fact→MemoryGraph)和四大方案(mem0/Zep/LangMem/Letta)的8维度横评,揭示以下核心观点: 长上下文≠长期记忆:128K上下文如同RAM,仍需硬盘式记忆层筛选和结构化存储,避免“Context Rot”导致的准确率下降。 三代架构演进: Gen1(RAG):向量检

LDZKKJ的博客 1421

DM9000网卡ARP 数据包格式分析

1.ARP数据包格式 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。因此在通讯前必须获得目的主机的硬件地址。ARP协议就起到这个作用。源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧...

weixin_33912445的博客 487

阿里云大模型ACP认证模拟考试(二)

摘要:在阿里云大模型高级工程师 ACP 认证暂无真题题库的现状下,模拟题具有重要意义。其依照真实考试设计,涵盖题型、题量与分值分布,助力考生熟悉考试框架,合理分配答题时间精力,提升效率。同时,模拟题紧扣官方课程,能帮助考生精准定位知识盲点,如大模型架构原理和通义千问应用实践等重点内容,以便针对性完善知识体系。此外,通过练习模拟题,考生可掌握不同题型的解题思维与技巧,快速洞察复杂题目本质,提高答题准确率。

davidkorhenn的博客 2076

AOSP 8.0.0编译中的ANDROID_DATA缺失问题解决方案

在AOSP编译过程中,环境变量和路径设置的正确性至关重要。遇到相关的错误时,检查并修正环境配置通常是解决问题的关键。希望本文提供的分析和解决方案能帮助你顺利编译AOSP。

m0_74337424的博客 398

手把手教你玩转ARP包(三)【数据包的游戏系列之一】

手把手教你玩转ARP包(三)【数据包的游戏系列之一】 作者:优快云  VC/MFC 网络编程 PiggyXP  ^_^   目录: 二。发送数据包的编程实现   1.  填充数据包   2.  发送数据包三。一些附加步骤及说明   1.  如果在VC中使用winpcap   2.  获得网卡信息列表   3.  获得系统ARP信息列表   

1549

YOLO26创新改进 | 全网独家创新篇、小目标检测专属 | AAAI 2025 | 引入HS-FPN中的HFP和SDP创新点,从频域增强小目标特征,淘汰FPN进行升级,助力YOLO26有效涨点

本文提出HS-FPN特征金字塔网络,通过高频感知模块(HFP)和空间依赖感知模块(SDP)优化YOLO26模型。HFP利用高通滤波器增强小目标的高频特征,SDP捕获相邻像素的空间依赖关系。在AI-TOD等小目标检测数据集上,HS-FPN相比传统FPN显著提升性能。文章详细介绍了HFP和SDP的模块结构、核心代码实现,以及如何在YOLO26中集成这两个模块的配置方法,提供了多个版本的yaml文件配置方案。实验结果表明该方法能有效改善微小目标检测效果。

Ai缝合怪、助力小伙伴高效发论文 207

【数据包的游戏系列之一】手把手教你玩转ARP包^_^

前   言      很多人都不会到文档中心去看文章,为了造福所有朋友我想我还是在这里发一份吧^_^     首先要感谢网络安全资深专家卢湖川博士以及VC网络版的limin朋友提供的资料以及帮助^_^     经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,所以就想写一系列的文章来详细深入的探讨关于数据包的知识,,我希望通过这一系列的文章,能使得关于数据包的知识得以普及,

watano 1362

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

手把手教你玩转ARP包(完)【数据包的游戏系列之一】

手把手教你玩转ARP包(完)【数据包的游戏系列之一】 作者:   优快云  VC/MFC 网络编程 PiggyXP  ^_^ 本篇目录:     四。ARP包的游戏      1 .   小伎俩      2.    ARP欺骗的实现      3.   基于ARP欺骗的监听原理  四.ARP包的游戏既然我们可以自己来填充数据包,那

1824

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

手把手教你玩转ARP包(二)【数据包的游戏系列之一】

  作者:   优快云  VC/MFC 网络编程 PiggyXP  ^_^   目录:     一.    关于ARP协议的基础知识     3. ARP包的填充二。发送数据包的编程实现   1.填充数据包 .........................紧接上文............................ 3.ARP包的填充1) 请

小猪的网络编程 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

手把手教你玩转ARP包^_^(1)

前       言                 很多人都不会到文档中心去看文章,为了造福所有朋友我想我还是在这里发一份吧^_^               首先要感谢网络安全资深专家卢湖川博士以及VC网络版的limin朋友提供的资料以及帮助^_^               经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,所以就想写一系列的文章来详细深入的

guoduhua的专栏 744

手把手教你玩转ARP包【数据包的游戏系列之一】 by PiggyXP【小猪】

前   言          首先要感谢网络安全资深专家卢湖川博士以及VC网络版的limin朋友提供的资料以及帮助^_^经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,所以就想写一系列的文章来详细深入的探讨关于数据包的知识,,我希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带

XmagicX的专栏 4686
上一篇: 手把手教你玩转ARP包(完)【数据包的游戏系列之一】
下一篇: 网卡MAC地址相关信息大全(整理)(上)
superhacker110
博客等级 码龄22年 2粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值