获取以太网广播地址

来源:互联网 发布:种草 网络语言 英文 编辑:程序博客网 时间:2024/06/10 04:06

[root@localhost ~]# !gcc
gcc main.c
[root@localhost ~]# ./a.out
broadcast address: 255.255.255.255
[root@localhost ~]# cat main.c

#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <arpa/inet.h>#include <net/if.h>#include <netinet/in.h>#include <unistd.h>#include <stdlib.h>#include <string.h>void err_sys( const char *errmsg ){    perror( errmsg );    exit(1);}int main(void){    struct ifreq ifr;    struct sockaddr_in addr;    int sockfd;    char ip[INET_ADDRSTRLEN];    if ( ( sockfd = socket( PF_INET, SOCK_STREAM, IPPROTO_TCP ) ) == -1 )        err_sys("socket");    strncpy( ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) );    if ( ioctl( sockfd, SIOCGIFBRDADDR, &ifr ) == -1 )        err_sys( "ioctl" );    memcpy( &addr, &ifr.ifr_broadaddr, sizeof( addr ) );    if ( inet_ntop( AF_INET, &addr.sin_addr, ip, sizeof( ip ) ) == NULL )        err_sys( "inet_ntop" );    printf( "broadcast address: %s\r\n", ip );    exit(0);}


http://blog.chinaunix.net/uid-20566573-id-1633611.html


0 0
原创粉丝点击