网络ping程序在编译执行时出错 部分1

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:09:11
/* Note:Your choice is C IDE */
#pragma comment(lib,"ws2_32.lib")//导入库文件
#include<winsock2.h>//加载头文件
#include<ws2tcpip.h>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

//定义常量
#define IP_RECORD_ROUTE 0x7//表示要记录的 路由
#define DEF_PACET_SIZE 32//默认数据报大小
#define MAX_PACKET 1024//对大的icmp数据报大小
#define MAX_IP_HDR_SIZE 60//最大ip头长度
#define ICMP_ECHO 8//回显请求
#define ICMP_ECHOREPLY 0//回显应答
#define ICMP_MIN 8//最小的icmp数据报大小

//自定义函数原型
void InitPing();
void GetArgments(int argc,char**argv);
USHORT CheckSum(USHORT *buffer,int size);
void FillICMPData(char *icmp_data,int datasize);
void FreeRes();
void UserHelp();
void DecodeIPOptions(char *buf,int bytes);
void DecodeICMPHeader(char *buf,int bytes,SOCKADDR_IN *from);
void PingTest(int timeout);

//IP 报头字段数据结构

typedef struct _iphdr
{unsigned int h_len:

叔叔,抱歉,太复杂,我不知道诶,不过别的问题还可以,真的很抱歉!不过你可以参考下面这篇文章,这也许会对你有帮助。
ping程序:C语言实现Ping程序功能
来源: 发布时间:星期四, 2008年9月25日 浏览:77次 评论:0
大部分人用ping命令只是作为查看另一个系统的网络连接是否正常的一种简单方法。在这篇文章中,作者将介绍如何用C语言编写一个模拟ping命令功能的程序。

ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。

例如,在Linux终端上执行ping localhost命令将会看到以下结果:
PING localhost.localdomain (127.0.0.1) from 127.0.0.1 : 56(84) bytes of data.
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=0 ttl=255 time=112 usec
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=255 time=79 usec
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=255 time=78 usec
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3 ttl=255 time=82 usec

--- localhost.localdomain ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.078/0.087/0.11