网络协议分析获取并解析arp

网络协议分析获取并解析arp

ID:22300354

大小:320.39 KB

页数:12页

时间:2018-10-28

网络协议分析获取并解析arp_第1页
网络协议分析获取并解析arp_第2页
网络协议分析获取并解析arp_第3页
网络协议分析获取并解析arp_第4页
网络协议分析获取并解析arp_第5页
资源描述:

《网络协议分析获取并解析arp》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、网络协议分析报告题目:获取并解析网络中的ARP数据包学院:计算机赴学与技丞学膣专业:计算机科学与技术班级:0411203学号:2012211699姓名:李传根一、要求及功能编程序,获取网络中的ARP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。运行格式:程序名日志文件二、原理及方法2.0什么是ARP地址解析协议(AddressResolutionProtocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDI

2、IP网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道0标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含0的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址

3、。这就是ARP协议要做的事情。所谓地址解析(addressresolution)就是主机在发送倾前将0标IP地址转换成0标MAC地址的过程。另外,当发送主机和H的主机不在同一个局域网中时,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的某个端U的MAC地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为ARP代理(ARPProxy)。2.1、ARP协议及工作原理ARP协议是“Add

4、ressResolutionProtocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个A标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过A标设备的IP地址,查询A标设备的MAC地址,以保证通信的顺利进行。ARP的棊本运行过程:1、主机A希望发送数据分组给主机B,但不知道B的物理地址。2、A发送广

5、播报文,要求B主机用用他的物理地址来响应。3、网站上所有的主机都接收到这个分组。4、B识别自己的IP地址,发送响应报文,告诉A自己的物理地址。2.2、ARP的分组格式物理帧头(14B)ARP帧结构(28B)填充数据(18B)CRC(4B)图一ARP分组格式目的MAC(6B)源MAC(6B)类型(2B)图二物理帧尖08162432硬件类型(Ethernet:0x1)上层协议类型(IP:0x0800)硬件地址长度(0x6)IP地址长度(0x4)操作(请求:0x1;应答:0x2)源MAC地址源MAC地址源IP地址源IP地址目的MAC地址R的MAC地址F

6、I的IP地址图三ARP帧结构2.3工作原理源主机在传输数据前,首先要对数据进行封装,在该过程屮会把A的主机的IP地址和MAC地址封装进去。在通信的初始阶段,我们能够知道I;的主机的IP地址,而MAC地址是不知道的。这时如果R的主机和源主机在同一网络內,源主机会以第二层广播的方式发送ARP请求报文。ARP请求报文中含有源主机的IP地址和MAC地址,以及A的主机的IP地址。当报文通过广播的方式到达FI的主机时,I;的主机会响应请求报文,并返回ARP响应报文,从而源主机就可以获得目的主机的MAC地址,同样A的主机也可以获得源主机的MAC地址。如果A的主

7、机和源主机地址不在同一个网络屮,源主机发送的IP数据包会送到交换机的默认网关,而默认网关的MAC地址同样可以通过ARP协议获取。经过ARP协议解析IP地址之后,主机会在缓存屮保存IP地址和MAC地址的映射条FI,此后再进行数据交换只要从缓存屮读取映射条A即可。2.4ARP包的填充将命令行的参数作适当的转换后填到ARP分组结构的个字段屮即可。要注意的是,填充请求包时,因为包要在Ethernet上广播,所以,物理帧尖的“I;的MAC”字段要填充为FFFFFFFFFFFF;而ARP帧结构屮的R的MAC可填充任意值,因为它此时不起作用。“填充数据”字段要

8、填充为0。三、源程序核心函数说明#includc#includc#includc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。