欢迎来到天天文库
浏览记录
ID:62155687
大小:16.00 KB
页数:2页
时间:2021-04-19
《说明文阅读与写作 (14).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Project3Ping程序说明文档I.问题描述实现PING程序功能,当运行时,使其产生4个ICMP报文,发送这些报文到目标主机并对应答计时,通过这种方法来测试目的主机的可达性。显示输出如下:当目的主机可达时:replyfrom200.200。200.1(200。200.200。1):time=3.000msreplyfrom200。200.200。1(200。200.200.1):time=5。000msreplyfrom200。200。200。1(200。200.200.1):time=7。000msreplyfrom200。200。200.1(20
2、0。200.200。1):time=2.000ms当目的主机不可达时:RequestTimedOut。RequestTimedOut.RequestTimedOut。RequestTimedOut.II.编程环境LinuxIII.主要输出文件Ping.cping主要功能函数说明:unsignedshortcal_chksum(unsignedshort*addr,intlen)功能:计算ICMP报文的校验和。将报文以2字节为单位相加再求反intsend_packet(intpkt_no,char*sendpacket)功能:发送ICMP请求报文。ICMP
3、报文打包pack()à记录发送时间à发送报文sendto()intpack(intpkt_no,char*sendpacket)功能:给ICMP请求报文打包。设置ICMP头部各字节(包括计算校验和)intrecv_packet(intpkt_no,char*recvpacket)功能:接收并检验ICMP应答报文。接收报文recvfrom()à记录接收时间à解包并检验unpack()intunpack(intcur_seq,char*buf,intlen)功能:解ICMP包并检验是否是当前等待的ICMP应答.判断包长度à判断ICMP类型是否是ICMP_EC
4、HOREPLYà判断id号和序列号seq是否正确IV.实现技巧程序执行时,向目标主机发送ICMP“回应请求”(类型为ICMP_ECHO的)报文。如果目标主机接到了该报文,会向发出该报文的主机发送ICMP“回应请求应答"(类型为ICMP_ECHOREPLY的)报文,那么本地主机就会收到该目的主机的ICMP“回应请求应答”报文,并知道该主机“可达”;反之,如果该目的主机没有收到该报文,或者因为其他原因不发送ICMP“回应请求应答"报文,那么本地主机在等待接收时就会超时,并认为该目的主机“不可达"。I.程序结果由于是在redhat9下调试程序,不会截图,故将显
5、示结果抄写如下:Ping127.0.0.1:replyfrom200。200。200.1(200.200.200.1):time=0。000msreplyfrom200.200。200.1(200.200。200.1):time=0.000msreplyfrom200。200。200.1(200.200。200.1):time=0。000msreplyfrom200。200。200。1(200。200。200.1):time=0。000msping202.113.1。45RequestTimedOut.RequestTimedOut.RequestTim
6、edOut.RequestTimedOut。
此文档下载收益归作者所有