当前位置:  技术问答>linux和unix

问一个socket的问题

    来源: 互联网  发布时间:2016-07-22

    本文导语:  各位老大,请教一个问题,我在HPUX上系统上创建一个SOCKET对象,结果返回错误,错误码为1,“不是超级用户”!!! 很是疑惑,印象中好像没有这个超级用户限制啊,请教各位,有没有碰到这个问题过,如何解决?...

各位老大,请教一个问题,我在HPUX上系统上创建一个SOCKET对象,结果返回错误,错误码为1,“不是超级用户”!!!
很是疑惑,印象中好像没有这个超级用户限制啊,请教各位,有没有碰到这个问题过,如何解决??

创建socket代码如下,使用icmp协议
sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);



|
       The process may need to have appropriate privileges to use the socket()
       function or to create some sockets.
解决:提升权限|试一下SOCK_DGRAM

|
创建原始套解字好像必须需要有超级用户权限吧,因为对原始套接子的操作是位于网络层,既系统内核区,而SOCK_DGRAM或SOCK_STREAM,一个是无连接的用户数据报型的,一般使用UDP协议,另一个是面向连接的数据流型,一般使用TCP协议,对这两种类型的套接字的操作是位于应用层(即用户层),所以普通用户即可,所以在使用原始套接字,要先判断一下当前用户是否是超级用户,在Linux的C里,可以getuid()来判断,返回值为0就表示是超级用户.

|
SOCK_RAW

这个你必须得是root权限。

win下的原始套接字很多功能都完全限制了呢,linux还算好的/

|



你在普通权限ping过吗?
应该是不可以的。

不管怎样,最后肯定绕回root权限,除非你修改到了内核态。
http://www.xici.net/u13420437/d97909374.htm

|
你想创建原始socket,当然要root权限。
普通的socket,普通用户就可以。

|

     创建原始套接字,需要root权限

|
ping居然还要root权限,回头试试

|
规约不支持 是什么意思?

    
 
 

您可能感兴趣的文章:

  • linux socket问题。。怎样获得已帮定特定port的一个套接字socket
  • 关于socket概念的理解问题!
  • socket编程 中的bind问题
  • 你是否可以回答Socket的问题?数据先后问题
  • 多进程socket编程问题
  • Socket的问题
  • socket accept问题,大家指教。
  • socket客户端程序的问题
  • 关于多网口socket通信的简单问题
  • fgets用在SOCKET流上的问题
  • linux socket fd 写阻塞问题
  • linux下用socket实现多进程间通信问题?
  • 请教:多线程使用同一个socket进行数据收发会出现什么问题?
  • sco unix下socket编程的问题,请大家帮忙
  • 请问socket方面的问题
  • socket编程中的问题,请各位大侠指教!
  • 急!!请教关于linux socket编程的一个问题!!
  • socket编程,使用recvfrom()函数监听问题。
  • linux下socket编程问题!
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • socket编程,使用recvfrom()函数监听问题。 iis7站长之家
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: gettrafficclass定义及介绍
  • socket编程 通过man socket, 没有找到socket函数的第一参数该填什么 怎样利用man手册
  • java命名空间java.net类socket的类成员方法: getport定义及介绍
  • 线程间可否通过管道传递SOCKET句柄?还有其他方式传递SOCKET么?
  • java命名空间java.net类socket的类成员方法: getlocalport定义及介绍
  • [FreeBSD] 大神,求解,control socket : can‘t to any socket
  • java命名空间java.net类socket的类成员方法: getinetaddress定义及介绍
  • 两个 Socket 互相通信,其中一个如何判断另一个 Socket 是否已经意外断开了连接?
  • java命名空间java.net类socket的类成员方法: isconnected定义及介绍
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3