今天接到需求要实现ping的功能,然后网上查了一些资料,对网络编程的一些函数熟悉了一下,虽然还有一些细节不清楚,但是慢慢积累. 要实现这样的功能: 基础知识 ping的过程是向目的IP发送一个type=8的ICMP响应请求报文,目标主机收到这个报文之后,会向源IP(发送方,我)回复一个type=0的ICMP响应应答报文. 那上面的字节.往访时间.TTL之类的信息又是从哪来的呢?这取决于IP和ICMP的头部. IP头部: 头部内容有点多,我们关心的只有以下几个: IHL:首部长度.因为IP的头部不