如何在linux下用c语言编写一个能够发送icmp报文的小程序
麻烦您给我完整具体的代码。要求实现在命令行下写入’网址参数‘能够输出’发送到接受所需要的时间和ttl‘。万分感激。...
麻烦您给我完整具体的代码。
要求实现在命令行下写入’网址参数‘能够输出’发送到接受所需要的时间和ttl‘。
万分感激。 展开
要求实现在命令行下写入’网址参数‘能够输出’发送到接受所需要的时间和ttl‘。
万分感激。 展开
3个回答
展开全部
需要建立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,可以计算出时间。
可以参考网页链接网页链接
觉得有帮助可以注册帐号,给他点个“星”
2018-04-25 · 知道合伙人互联网行家
关注
展开全部
对linux应用程度还不能做小开发。
建议找常用linux系统的网友帮你。
建议找常用linux系统的网友帮你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先在终端中输入 vim test.c 回车进入vim编辑器,再按一下a键,进入编辑状态,然后输入如下C语言语句: #include<stdio.h> int main() { printf("hello world!\n"); } 到此,按esc键退出编辑状态,再输入一个冒号(shift + 冒号分号那个键),紧跟着输入 wq ,即 输入 :wq 按回车,即推出vim编辑器回到终端命令窗口(类似xp的命令提示符), 之后输入 gcc test.c ,这步是编译 ./a.out , 这是执行,将会输出 hello world! 到此结束,前提是你已经安装gcc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询