ping使用说明和可以运行的源代码

ping使用说明和可以运行的源代码

ID:39467280

大小:97.00 KB

页数:13页

时间:2019-07-04

ping使用说明和可以运行的源代码_第1页
ping使用说明和可以运行的源代码_第2页
ping使用说明和可以运行的源代码_第3页
ping使用说明和可以运行的源代码_第4页
ping使用说明和可以运行的源代码_第5页
资源描述:

《ping使用说明和可以运行的源代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、如何使用自己写的ping运行Cmd进入命令提示符找到的路径然后是进之后zzbaidu.com举例:在d盘Cmd>d:>cd计算机网络ping程序>cddebug>zzbaidu.com就可以看到结果/*导入库文件*/#pragmacomment(lib,"ws2_32.lib")/*加载头文件*/#include#include#include#include#include/*定义常量*//*表示要记录路由*/#defineIP_RECORD_ROUTE0

2、x7/*默认数据报大小*/#defineDEF_PACKET_SIZE32/*最大的ICMP数据报大小*/#defineMAX_PACKET1024/*最大IP头长度*/#defineMAX_IP_HDR_SIZE60/*ICMP报文类型,回显请求*/#defineICMP_ECHO8/*ICMP报文类型,回显应答*/#defineICMP_ECHOREPLY0/*最小的ICMP数据报大小*/#defineICMP_MIN8/*自定义函数原型*/voidInitPing();voidUserHelp();voidGetArgments(intargc,cha

3、r**argv);USHORTCheckSum(USHORT*buffer,intsize);voidFillICMPData(char*icmp_data,intdatasize);voidFreeRes();voidDecodeIPOptions(char*buf,intbytes);voidDecodeICMPHeader(char*buf,intbytes,SOCKADDR_IN*from);voidPingTest(inttimeout);/*IP报头字段数据结构*/typedefstruct_iphdr{unsignedinth_len:4;/*

4、IP报头长度*/unsignedintversion:4;/*IP的版本号*/unsignedchartos;/*服务的类型*/unsignedshorttotal_len;/*数据报总长度*/unsignedshortident;/*惟一的标识符*/unsignedshortfrag_flags;/*分段标志*/unsignedcharttl;/*生存期*/unsignedcharproto;/*协议类型(TCP、UDP等)*/unsignedshortchecksum;/*校验和*/unsignedintsourceIP;/*源IP地址*/unsigne

5、dintdestIP;/*目的IP地址*/}IpHeader;/*ICMP报头字段数据结构*/typedefstruct_icmphdr{BYTEi_type;/*ICMP报文类型*/BYTEi_code;/*该类型中的代码号*/USHORTi_cksum;/*校验和*/USHORTi_id;/*惟一的标识符*/USHORTi_seq;/*序列号*/ULONGtimestamp;/*时间戳*/}IcmpHeader;/*IP选项头字段数据结构*/typedefstruct_ipoptionhdr{unsignedcharcode;/*选项类型*/unsign

6、edcharlen;/*选项头长度*/unsignedcharptr;/*地址偏移长度*/unsignedlongaddr[9];/*记录的IP地址列表*/}IpOptionHeader;/*定义全局变量*/SOCKETm_socket;IpOptionHeaderIpOption;SOCKADDR_INDestAddr;SOCKADDR_INSourceAddr;char*icmp_data;char*recvbuf;USHORTseq_no;char*lpdest;intdatasize;BOOLRecordFlag;doublePacketNum;BO

7、OLSucessFlag;/*初始化变量函数*/voidInitPing(){WSADATAwsaData;icmp_data=NULL;seq_no=0;recvbuf=NULL;RecordFlag=FALSE;lpdest=NULL;datasize=DEF_PACKET_SIZE;PacketNum=5;SucessFlag=FALSE;/*Winsock初始化*/if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0){/*如果初始化不成功则报错,GetLastError()返回发生的错误信息*/printf("WSASt

8、artup()failed:%d",GetLas

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

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

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