网络实验指导---ICMP协议的分析与实现

网络实验指导---ICMP协议的分析与实现

ID:47873702

大小:75.93 KB

页数:10页

时间:2019-11-15

网络实验指导---ICMP协议的分析与实现_第1页
网络实验指导---ICMP协议的分析与实现_第2页
网络实验指导---ICMP协议的分析与实现_第3页
网络实验指导---ICMP协议的分析与实现_第4页
网络实验指导---ICMP协议的分析与实现_第5页
资源描述:

《网络实验指导---ICMP协议的分析与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验:ICMP协议的分析与实现[实验目的]分析ICMP报文,理解ICMP协议在Internet网屮的具体应用及其实现原理,深入了解TCP/IP网络的容错控制;学会运用网络套接字Winsock开发网络通信程序。[实验内容]使用VisualStudio3+6.0和网络接口套接字Socket进行Windows环境下的网络编程,运用原始嵌套字RAW_SOCKET从IP层开始构造整个ICMP报文,通过ICMP协议所提供的回送请求(echorequest)和回送应答(echoreply)这两种报文实现检测目的站的可达性与状态。1

2、.IP报头、ICMP报文的基本描述1P协议并不能保证绝对的可靠,所以就设计了1CMP协议,进行差错报告.ICMP消息使用IP头作为基本控制.IP头的格式如F:101234567890123456789012345678901Idontification

3、Flags

4、FragmentOffsetTimetoLive

5、Protocol

6、HeaderChecksum+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+一+SourceAddressDo

7、stinationAddressVersion二4IHLInternet头长TypeofService=0TotalLengthIP包的总长度Tdentification,Flags,FragmentOffset用于TP包分段TimetoLiveIP包的存活时长ProtocolICMP=1HeaderChecksum头校验和(检查整个IP报头)Addresses发送Echo消息的源地址是发送Echoreply消息的目的地址,相反,发送Echo消息的目的地址是发送Echoreply消息的源地址.Echo或EchoRep

8、ly消息格式如下:012301234567890123456789012345678901CodeChecksumTypeIdentifierSequenceNumberData2数据结构(1)IP报头格式〃定义IP首部typedefstruct」phdr{unsignedcharh_lenver;unsignedchartos;unsignedshorttotal_len;unsignedshortident;unsignedshortfrag_and_flags;unsignedcharttl;unsignedc

9、harproto;unsignedshortchecksum;unsignedintsourcelP;unsignedintdestIP;}IP_HEADER;(2)ICMP报头格式Typeecho消息的类型为8echoreply的消息类型为0.Code二0Checksum为从TYPE开始到TP包结束的校验和,也就是校验整个ICMP报文Identifier如果code二0,identifier用来匹配echo和echoreply消息SequenceNumber如果code=0,identifier用来匹配echo和e

10、choreply消息功能描述:收到echo消息必须回应echoreply消息.identifier和sequencenumber可能被发送echo的主机用来匹配返回的echoreply消息•例如:identifier能用于类似于TCP或UDP的port用来标示一个会话,而sequencenumber会在每次发送echo请求示递增.收到echo的主机或路由器返回同一个值与之匹配//4位IP版木号+4位首部长度//8位服务类型TOS〃16位IP包总长度(字节)//I6位标识,用于辅助IP包的拆装,木实验不用,置零〃3位标

11、志位+13位偏移位,也是用于IP包的拆装,木实验不用,置零〃8位IP包生存吋间TTL〃8位协议(TCP,UDP或其他),本实验置ICMP,置为1〃16位IP首部校验和,最初置零,等所有包头都填写正确后,计算并替换.//32位源IP地址//32位目的IP地址〃定义ICMP首部typedefstruct_icmphdr{unsignedchari_type;//8位类型,木实验用&ECHO0:ECHOREPLYunsignedchari_code;//8位代码,本实验置零unsignedshorti_cksum;//16

12、位校验和,从TYPE开始,直到最后一位用户数据,如果为字节数为奇数则补充一位unsignedshort;〃识别号(一燉用进程号作为识别号),用于匹配ECHO和ECHOREPLY包unsignedshorti_seq;〃报文序列号,用于标记ECHO报文顺序unsignedinttimestamp;//时间戳}ICMP_HEADER;3总体设计IC

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

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

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