欢迎来到天天文库
浏览记录
ID:49407643
大小:314.00 KB
页数:4页
时间:2020-03-01
《ARP协议的报文格式.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ARP协议的报文格式6bvtesH以太网鴻地址6以太网首部厂硬件类型•arjird(arpkrd^etmbr)协议类型.«r-PfO(BTHBRTYPE_IP)碳件地址氏度,ar-hln⑹协议地址良5.■ar_pln(4)类型etherMdhostether^ahost以太网目的ether_typeop2112ARP首部arphdr{}arp.shaarp^spaarp.thaarp.tpA目标唤件地址~6发送S•硬件发送占IP堆址6~地址4以太网ARP字段•ther.arpO目标IP地址4图21・7在以太网上使用时ARP请求或回答的
2、格式结构ether_header定义了以太网帧首部;结构arphdr定义了其后的5个字段,其信息用于在任何类型的介质上传送ARP请求和回答:ether_arp结构除了包含arphdr结构外,还包含源主机和目的主机的地址。定义常量#defineEPTIP0x0800/*type:IP*/#defineEPT_ARP0x0806/*type:ARP*/#defineEPTRARP0x8035/*type:RARP*/#defineARP_HARDWARE0x0001/*Dummytypefor802.3frames*/#defineARP
3、_REQUEST0x0001/*ARPrequest*/#defineARPREPLY0x0002/*ARPreply*/定义以太网首部typedefstructehhdr{unsignedchareh_dst[6];/*destinationethernetaddrress*/unsignedchareh_src[6];/*sourceethernetaddresss*/unsignedshorteh_type;/*ethernetpachettype*/}EHHDR,*PEHHDR;定义以太网arp字段typedefstructa
4、rphdr{//arp首部unsignedshortarp_hrd;/*formatofhardwareaddress*/unsignedshortarp_pro;/*formatofprotocoladdress*/unsignedchararp_hln;/*lengthofhardwareaddress*/unsignedchararp_pln;/*lengthofprotocoladdress*/unsignedshortarp_op;/*ARP/RARPoperation*/unsignedchararp_sha[6];/*s
5、enderhardwareaddress*/unsignedlongarp_spa;/*senderprotocoladdress*/unsignedchararp_tha[6];/*targethardwareaddress*/unsignedlongarptpa;/*targetprotocoladdress*/}ARPHDR,*PARPHDR;定义整个arp报文包,总长度42字节typedefstructarpPacket{EHHDRehhdr;ARPHDRarphdr;}ARPPACKET,*PARPPACKET;ARP请求包
6、的分析:如下所示为一个ARP请求包0000ffffffffffff000cf1d4d96008060001'....0010080006040001000cf1d4d960cOa801Of'….0020000000000000cOa80102根据定义,头6个字节是以太网目的地址ffffffffffff这是一个广播地址,全网下的所有终端都能接收到,紧跟着的6个字节是以太网源地址,即发送者的MAC地址(000cf1d4d960是我的MAC地址)。帧类型0806占两个字节,到这里以太网帧头就结束了。0806指的是后面的数据是属于arp包的。
7、接着分析ARP包头。头两个字节是硬件类型0001,接着两个字节是协议类型,即ARP使用的是IP协议代号0800o硬件地址长度和协议地址长度分别是6和4。这与ARP报文格式是对应的。后血的2个字节OP指示当前包是请求包还是应答包,对应的值分别是0x0001和0x0002o原始数据里是0001所以这是一个请求包,然后6个字节又是发送者MAC地址000cf1d4d960,后而4个字节是发送者IP地址cOa801Of,转换成点分十进制格式即192.168.1.15,这是我的IP,接下来的6个字节留空,000000000000在arp请求包里也
8、可以是其他数据,因为稍后IP地址为cOa80102(192.168.1.2)会把自己的MAC地址填充进这6个字节中。填充完后,arp包里的发送者硬件地址
9、冃标硬件地址和以太网首部的以太网冃的地址
10、以太网源地址止好对调。最
此文档下载收益归作者所有