文档详情

ping程序分析报告.doc

发布:2017-11-29约1.35万字共18页下载文档
文本预览下载声明
ping程序分析报告 课程名称: 老 师: 姓 名: 班 级: 学 号: 日 期: 目录 1、Ping功能简介 …………………………………………………1 2、程序流程图 (1)主函数流程图 …………………………………………………3 (2)创建套接字流程图 ……………………………………………3 (3)建立IP选项头部流程图 ……………………………………4 (4)创建SockRaw套接字的接收/发送时限属性流程图…………4 (5)判断终端的主机名获取信息流程图 …………………………5 (6)分配堆内存流程图 ……………………………………………5 (7)接收/发送ICMP数据包流程图 ………………………………6 (8)清空Socket库所占内存 ……………………………………7 (9)传参解析函数流程图 …………………………………………7 (10)解析IP选项函数流程图 ……………………………………8 3、源代码清单 ……………………………………………………8 4、心得体会 ………………………………………………………16 1、ping功能简介 Ping 是DOS命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢 PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。 Ping 是Windows系列自带的一个可执行命令。利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障。应用格式:Ping IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。 ping指的是端对端连通,通常用来作为可用性的检查, 但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。// Module Name: Ping.c #include windows.h #include winsock.h #include stdio.h #define IP_RECORD_ROUTE 0x7 //IP记录路由 #define ICMP_ECHO 8 //ICMP回显 #define ICMP_ECHOREPLY 0 //ICMP回显应答 #define ICMP_MIN 8 //ICMP数据包最小长度 #define DEF_PACKET_SIZE 32 //差错报文长度 #define MAX_PACKET 0x10000 // ICMP包最大长度 #define MAX_IP_HDR_SIZE 60 //IP首部最大字节数 //IP头文件定义 typedef struct _iphdr { unsigned int h_len:4; //头部长度 4字节 unsigned int version:4; //IP版本号 IPv4 unsigned char tos; //服务类型 unsigned short total_len; //数据包总长度 unsigned short ident; //ID标识 unsigned short frag_and_flags; //3位标志,13位片偏移 unsigned char ttl; //生存期 unsigned char proto; //协议类型 unsigned short checksum; //IP头部的检验和 unsigned int sourceIP; //源地址 unsigned int destIP; //目的地址 } IpHeader; //ICMP头部定义 typedef struct _icmphdr { BYTE
显示全部
相似文档