ping 程序设计 ping 命令是使用频率极高的一个网络测试命令,用以测试从一个主机到另一个主机间的网络上否可达
windows 自带的 ping 命令具有强大的功能,它有很多选项用于实现不同的测试目的
本章模仿 windows 的 ping 命令,用 c 语言实现了一个简单的命令
本章着重讲述 ping 命令的实现原理和 c 语言的网络编程方法
读者可以在本章的基础上,对本章实现的 ping 命令进行扩展,开发出功能更强大、更完善的 ping 命令,并进一步掌握网络编程的方法
1 设计目的 本章通过设计 Ping 程序,讲解 Ping 程序的实现原理,并初步讲解了 c 语言网络编程技术
本章涉及很多网络编程函数和编程技巧
包括库文件的导入;winsock 的初始化、注销;socket的创建、关闭;设置 socket 选项;根据主机名获取 IP 地址; 从堆中分配一定数量的空间、释放从堆中分配的空间;获取当前进程 ID 号;数据报的发送;数据报的接等
通过本程序的训练,使读者对网络编程有一定的了解,掌握 Ping 程序的设计方法,掌握网络编程的方法和技巧,从而编写出功能更强大的程序
2 功能描述 本章用 c 语言实现的 ping 命令,能用于测试一个主机到另一个主机间的联通情况,程序还提供了几个选项以实现不同的功能
(1)实现 ping 功能
程序能实现基本的 ping 操作,发送ICMP 回显请求报文,接收显应答报文
(2)能记录路由
程序提供了“-r”选项,用以记录从源主机到目的主机的路由
(3)能输出指定条数的记录
程序提供了“-n”选项,用以输出指定条数的记录
(4)能按照指定大小输出每条记录
程序提供了“datasize”选项,用以指定输出的数据报的大小
(5)能输出用户帮助
程序提供了用户帮助,显示程序提供的选项以及选项格式等