#include <stdlib.h>int main(int argc,char* argv[])
{
int i
char dst[128],*pstr = argv[1]
for(i=0*pstri++)
dst[i] = toupper(*pstr++)
dst[i] = '\0'
printf("%s\n",dst)
return 0
}程序主体刚好7行。toupper是系统清物自带的库函数,用答轮液于实现把字母小写变大写;桐逗tolower是大写变小写。toupper的函数可以这样实现:Int toupper(int c){if( c >= 'a' &&c <= 'z' ) c -= ('a'-'A') return c}
需要建立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,可以计算出时间槐闭。
可以参考网页链接网页链接
觉得有哪拆帮助可铅缓裂以注册帐号,给他点个“星”
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)