Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->Linux程序设计 ->正文

用C语言实现Ping程序功能

来源:IBM DW中国 作者:梁俊辉  时间:2007-04-22 点击: [收藏] [投稿]

 

特别注意

只有root用户才能利用socket()函数生成原始套接字,要让Linux的一般用户能执行以上程序,需进行如下的特别操作:

用root登陆,编译以上程序:gcc -o myping myping.c,其目的有二:一是编译,二是让myping属于root用户。

再执行chmod u+s myping,目的是把myping程序设成SUID的属性。

退出root,用一般用户登陆,执行./myping www.cn.ibm.com,有以下执行结果:


PING www.cn.ibm.com(202.95.2.148): 56 bytes data in ICMP packets.
64 byte from 202.95.2.148: icmp_seq=1 ttl=242 rtt=3029.000 ms
64 byte from 202.95.2.148: icmp_seq=2 ttl=242 rtt=2020.000 ms
64 byte from 202.95.2.148: icmp_seq=3 ttl=242 rtt=1010.000 ms

--------------------PING statistics-------------------
3 packets transmitted, 3 received , %0 lost

由于myping.c是发送完所有的ICMP报文才去接收,因此第一、第二和第三个ICMP报文的往返时间依此是3秒,2秒,1秒,上述结果中rtt信息正反映这一事实。

原文链接:http://www.ibm.com/developerworks/cn/linux/network/ping/index.html



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 2 3下一页


上一篇:在 C/C++中怎么样构造通用的对象链表   下一篇:bash中字符串的处理

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
·快速编辑Shell命令行
·从2.4到2.6内核发展中的改进
·两个很详细的shell实例
·内核设计篇
·shell技巧
·批量添加用户
·HowtoCreatingandBootingaNewKernelWithautoconf
·利用ip_conntrack表实现封ip的shell脚本,并有简
·30分钟搞定BASH脚本编程!
·Shell初学者的入门知识
推荐文章
·Linux下Apache、php3、MySQL整合方
·Linux程式设计-11.ShellScript(bash
·Linux入门普及读物 解读Linux编程库
·Linux程式设计-11.ShellScript(bash
·Bourne again shell (bash) 基本编
·Shell介绍
·Linux系统环境下的Socket编程详细解
·更多的 bash 基本编程
精彩文章
·Shell递归程序设计-目录列表
·告别无声世界 Linux声音设备编程实
·Linux实时内存数据库eXtremeDB性能
·Linux程式设计-11.ShellScript(bash
·Linux编程C++内存管理内存耗尽的解
·Linux操作系统内核编程中断处理程序
·Gartner分析家谈对开源数据库的研究
·使用 m17n 实现各国语言间代码移植
·Linux 上的数据可视化工具
·Linux系统下的Oracle数据库编程详解
·怎么样在Subversion中运行hook脚本
·把数据库访问集成到 Linux 应用中
·Linux系统内核编程之实现调度任务
·技巧:Vimdiff 使用
·Linux编程Shell基本工作原理方案
·Linux编程:将PHP作为Shell脚本使用
·linux Shell编程入门 实例讲解详解
·在Linux高负载下mysql数据库彻底优
·Linux操作系统的X86汇编程序设计
·从初始化文件谈Linux系统的Shell编
·在Unix下用命令行中完成所有的工作
·Linux操作系统网桥源码框架初步分析
·Linux程式设计-11.ShellScript(bash
·Linux脚本开发数学库在PHP中的重要
·Linux程式设计-11.ShellScript(bash
·autoconf 和automake生成Makefile文
Power by linux-cn.com 粤ICP备05006655号