首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

获取linux链路层数据,该怎么解决

2013-07-08 
获取linux链路层数据int main(){int sockfd socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP))if (sockfd

获取linux链路层数据
int main()
{
    int sockfd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP));
    if (sockfd < 0)
    {   
        perror("err:");
        printf("sockfd err\n");
    }   
    printf("sockfd:%d\n", sockfd);

    close(sockfd);
    return;
}
为什么socket创建失败,失败提示:err:: Operation not permitted
[解决办法]
没root权限?
[解决办法]
SOCK_RAW 要root
[解决办法]
使用SOCK_RAW绕开了传输层,直接到网络层获取数据,需要ROOT权限才能访问。

热点排行