ping应用程序实现代码

ping应用程序实现代码

ID:14636281

大小:25.00 KB

页数:9页

时间:2018-07-29

ping应用程序实现代码_第1页
ping应用程序实现代码_第2页
ping应用程序实现代码_第3页
ping应用程序实现代码_第4页
ping应用程序实现代码_第5页
资源描述:

《ping应用程序实现代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Ping应用程序实现代码#include#include#include#include#include"winsock.h"#pragmacomment(lib,"Ws2_32");#defineSEND_SIZE32#definePACKET_SIZE4096#defineICMP_ECHO8#defineICMP_ECHOREPLY0structicmp{unsignedcharicmp_type;unsignedcharicmp_code;unsignedshorticmp_cksum;unsign

2、edshorticmp_id;unsignedshorticmp_seq;unsignedlongicmp_data;};structip{unsignedcharip_hl:4;unsignedcharip_v:4;unsignedcharip_tos;unsignedshortip_len;unsignedshortip_id;unsignedshortip_off;unsignedcharip_ttl;unsignedcharip_p;unsignedshortip_sum;unsignedlongip_src;unsignedlongip_dst;};unsignedcharse

3、ndpacket[PACKET_SIZE];unsignedcharrecvpacket[PACKET_SIZE];structsockaddr_indest_addr;structsockaddr_infrom_addr;intsockfd;intpid;unsignedshortcal_chksum(unsignedshort*addr,intlen);intpack(intpack_no);intunpack(unsignedchar*buf,intlen);voidsend_packet(void);voidrecv_packet(void);voidmain(){intargc

4、;char*argv[2];argc=2;argv[0]="-t";argv[1]="192.168.1.2";structhostent*host;structprotoent*protocol;WSADATAwsaData;inttimeout=1000;intSEND_COUNT=4;inti;char*par_host;par_host=argv[argc-1];//IP??Öµswitch(argc){case2:break;case3:if(strcmp(argv[1],"-t")==0){SEND_COUNT=10000;break;}//fallthroughdefaul

5、t:printf("usage:%s[-t]HostnameorIPaddress",argv[0]);exit(1);}if(WSAStartup(0x1010,&wsaData)!=0){printf("wsastartuperror");exit(1);}if((protocol=getprotobyname("icmp"))==NULL){printf("getprotobynameerror");exit(1);}printf("%s",protocol->p_name);printf("%s",protocol->p_aliases);printf("%d

6、",protocol->p_proto);system("pause");if((sockfd=socket(AF_INET,SOCK_RAW,protocol->p_proto))<0){printf("socketerror");exit(1);}if(setsockopt(sockfd,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout))<0)fprintf(stderr,"failedtosetrecvtimeout:%d",WSAGetLastError());if(setsockopt(sockfd,SOL

7、_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout))<0)fprintf(stderr,"failedtosetsendtimeout:%d",WSAGetLastError());memset(&dest_addr,0,sizeof(dest_addr));dest_addr.sin_family=AF_INET;printf("%s",par_host);if(host

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

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

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