发送icmpecho请求剖析.doc
《发送icmpecho请求剖析.doc》由会员分享,可在线阅读,更多相关《发送icmpecho请求剖析.doc(10页珍藏版)》请在点石文库上搜索。
1、 西北工业大学 project专用纸 No8题目:发送icmp echo请求姓名: 学号 班号: 时间:2016/11/16计算机学院时间:2016/11/16目 录摘 要1 目的12 要求13相关知识14实现原理及流程图错误!未定义书签。5程序代码76运行结果与分析77参考文献15题目:发送icmp echo请求1、 目的 理解ICMP协议完成的功能,了解ICMP报文格式,理解Ping程序的工作原理。2、要求针对某个主机发送ICMP echo报文。2、 相关知识ICMP报文分析一.概述:1.ICMP允许主机或路由报告差错情况和提供有关异常情况。ICMP是因特网的标准协议,但ICMP不是高层协
2、议,而是IP层的协议。通常ICMP报文被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。2.ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。3.ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。二.ICMP报文的格式1.类型:占8位2.代码:占8位3.检验和:占16位说明:ICMP所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。4.其它字段都ICMP报文类型不同而不同。1 ICMP报文的前4个字节是统一的格式,共有三个字段:即类型,代码和检验和。2 8位类型和8位代码字段一起决定了ICMP报文的类型。
3、类型8,代码0:表示回显请求(ping请求)。类型0,代码0:表示回显应答(ping应答)类型11,代码0:超时316位的检验和字段:包括数据在内的整个ICMP数据包的检验和;其计算方法和IP头部检验和的计算方法一样的。ICMP报文具体分为查询报文和差错报文(对ICMP差错报文有时需要做特殊处理,因此要对其进行区分。如:对ICMP差错报文进行响应时,永远不会生成另一份ICMP差错报文,否则会出现死循环)三.ICMP差错报文(56字节)1.ICMP差错报告报文共有5种1 终点不可达:终点不可达分为:网络不可达,主机不可达,协议不可达,端口不可达,需要分片但DF比特已置为1,以及源路由失败等六种情
4、况,其代码字段分别置为0至5。当出现以上六种情况时就向源站发送终点不可达报文。说明:端口不可达:UDP的规则之一是:如果收到UDP数据报而且目的端口与某个正在使用的进程不相符,那么UDP返回一个ICMP不可达报文。2 源站抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源站发送源站抑制报文,使源站知道应当将数据报的发送速率放慢。3 时间超过:当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源站发送时间超过报文。当目的站在预先规定的时间内不能收到一个数据报的全部数据报片时,就将已收到的数据报片都丢弃,并向源站发送时间超过报文。4 参数问题:当路由器或目的主机收到的数据报的首部中的字段
5、的值不正确时,就丢弃该数据报,并向源站发送参数问题报文。5 改变路由(重定向)路由器将改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器。说明:以下几种情况都不会导致产生ICMP差错报文1ICMP差错报文(但是,ICMP查询报文可能会产生ICMP差错报文)2目的地址是广播地址或多播地址的IP数据报3作为链路层广播的数据报4不是IP分片的第一片5源地址不是单个主机的数据报。即源地址不能为零地址、环回地址、广播地址或多播地址。这些规则是为了防止过去允许ICMP差错报文对广播分组响应所带来的广播风暴。2.所有的ICMP差错报告报文中的数据字段都具有同样的格式。将收到的需要进行差错报告
6、IP数据报的首部和数据字段的前8个字节提取出来,作为ICMP报文的数据字段。再加上响应的ICMP差错报告报文的前8个字节,就构成了ICMP差错报告报文。提取收到的数据报的数据字段的前8个字节是为了得到运输层的端口号(对于TCP和UDP)以及运输层报文的发送序号(对于TCP)。注:一下情况不发送ICMP差错报告报文四.ICMP询问报文(40字节)1.ICMP询问报文有四种回送请求和回答,时间戳请求和回答,掩码地址请求和回答,以及路由器询问和通过。1ICMP回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的机器必须给源主机发送ICMP回送应答报文。这种询问报文用来测试目的站是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 发送 icmpecho 请求 要求 剖析