需要建立socket,参数是AF_INET,SOCK_RAW,IPPROTO_ICMP
自己构造ICMP数据包, sendto发送给某地址。
ICMP有多种,你可以发送type为13的时间戳请求。
然后调用recvfrom会收到type为14的timestamp reply的IP包,
IP头一般是20 Bytes,里面包含src IP,des IP还有TTL等。
IP包的数据就是返回ICMP timestamp reply报文,里面有origTimestamp,recvTimestamp,transStamp,可以计算出时间。
可以参考网页链接网页链接
觉得有帮助可以注册帐号,给他点个“星”
scanf里边不能含有除格式之外的东西,像你这里有The th level.是不行的。把scanf这一句改为scanf("%d",&n)
如果要显示输入的n的多少,就再加一句
printf("The %dth level.\n",n)
上网下一份busybox的源码,里面很多基础命令的源码都有。如ls、cp等等。
这个肯定要比自己写的好~!
有问题请追问。
闲来无事,我找个给你吧,请查收附件。
建议自己去下个,啥命令的源码都能看。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)