『壹』 如何在linux下用c语言编写一个能够发送icmp报文的小程序
需要建立来socket,参数是AF_INET,SOCK_RAW,IPPROTO_ICMP
自己构自造ICMP数据包,sendto发送给某地址。
ICMP有多种,你可以发送type为13的时间戳请求。
然后调用recvfrom会收到type为14的timestampreply的IP包,
IP头一般是20Bytes,里面包含srcIP,desIP还有TTL等。
IP包的数据就是返回ICMPtimestampreply报文,里面有origTimestamp,recvTimestamp,transStamp,可以计算出时间。
可以参考网页链接网页链接
觉得有帮助可以注册帐号,给他点个“星”
『贰』 linux网络编程是个什么样的东西
Linux 网络编程是一个基于客户端/服务器(即:client/server)的套接字编程结构(即:socket 编程)。版
在Linux网络编程的过程中权,使用到的协议主要有:TCP/IP(基于连接的协议)、UDP(基于无连接的协议)、ICMP(通常我们在 DOS 状态下通过使用 ping 命令,检查网络的通断,就是依靠该协议)。
在Linux系统的套接字编程中,有标准的 socket( )、client( ) 代码的编写风格。涉及到的主要库函数有:bind( )、listen( )、accept( )、read( )、write( ) 等。
至于说要想学习详细的Linux网络编程技术实现细节,你可以参考《TCP/IP详解》一书。一套共三本。
『叁』 linux的ping命令怎么用
用来检查网络是否连通,ping命令后面可以写ip或网址,如:ping 192.168.1.100,还有一些常用回的参数,如:ping -c 5 192.168.1.100 代表答ping 5次,ping -s 1024 192.168.1.100 代表每次发送1k的数据包,ping -i 5 192.168.1.100 代表每次ping的时间间隔为5秒。
有关全套的linux的命令黑马程序员的社区当中都有全套的文章介绍啊,学习操作的话,我的方法是边看视频边实操。黑马就有一个很好的点,他们的课程都含有配套资料,内涵有笔记+课件+源码。或者你可以看看他们的软件测试相关的基础班课程大纲,基础班可以线下去上课,也是免费的。