当前位置: 技术问答>linux和unix
Linux下如何在普通用户下创建原始套接字(实现ping)
来源: 互联网 发布时间:2015-12-07
本文导语: 众所周知,在root用户下创建原始套接字,利用ICMP包实现ping程序。 但是现在我需要在普通用户下实现ping程序,该如何创建原始套接字呢? 哪位大虾能指点一二,不胜感激! (系统自带的ping程序能在root下使用,也能...
众所周知,在root用户下创建原始套接字,利用ICMP包实现ping程序。
但是现在我需要在普通用户下实现ping程序,该如何创建原始套接字呢?
哪位大虾能指点一二,不胜感激!
(系统自带的ping程序能在root下使用,也能在普通用户下使用,那么在普通用户下,它是如何创建原始套接字的呢?既然系统能在普通用户下创建,那我们也应该可以创建,或者就是说,在普通用户下,我们怎样才能取得root权限而创建原始套接字呢)
但是现在我需要在普通用户下实现ping程序,该如何创建原始套接字呢?
哪位大虾能指点一二,不胜感激!
(系统自带的ping程序能在root下使用,也能在普通用户下使用,那么在普通用户下,它是如何创建原始套接字的呢?既然系统能在普通用户下创建,那我们也应该可以创建,或者就是说,在普通用户下,我们怎样才能取得root权限而创建原始套接字呢)
|
chmod a+s yourprogram
ping也是这么干的,
具体参考一下什么是附着位(APUE中有详细解释)
ping也是这么干的,
具体参考一下什么是附着位(APUE中有详细解释)
|
setuid?
|
在用户程序里可以把权限改为root的权限,
然后做完事后再改回,在里有说,
好像就是用setuid.
然后做完事后再改回,在里有说,
好像就是用setuid.
|
用setuid