获得网卡的IP及广播地址

原创 2011年01月14日 12:10:00

 

 

#include <net/if.h>

#include <sys/ioctl.h>

 

uint32 get_broadcast(char * interfacename )

{

struct sockaddr_in *addr;

struct ifreq ifr;

int sockfd;

 

sockfd = socket(AF_INET,SOCK_DGRAM,0);

strncpy(ifr.ifr_name,interfacename,IFNAMSIZ-1);

 

if(ioctl(sockfd,SIOCGIFADDR,&ifr) == -1)

{

printf("get IP address error!/n");

return false;

}

addr = (struct sockaddr_in *)&(ifr.ifr_addr);

printf("inet addr:%s/n",inet_ntoa(addr->sin_addr));

 

if(ioctl(sockfd,SIOCGIFBRDADDR,&ifr) == -1)

{

printf("get broadcast address error!/n");

return false;

}

addr = (struct sockaddr_in *)&(ifr.ifr_addr);

printf("broadcast addr:%s/n",inet_ntoa(addr->sin_addr));

}

相关文章推荐

python 使用ioctl() 获得网卡IP 和MAC地址

自从使用了Python,便对其爱不释手。听说Python可以做任何你可以想到的事情,前些天看Linux网络的时候,看到了ioctl()这个函数的强大功能,linux下常用工具route和arp命令就是...

获得本机所有网卡的IP和MAC地址信息

 一台机器上可能有多个网卡,每一个网卡只有一个MAC地址,但是每一个网卡可能配置有多个IP地址;如平常的笔记本电脑中,就会有无线网卡和有线网卡(网线接口)两种;因此,如果要获得本机所有网卡的IP...

【C++】获得本机所有网卡的IP和MAC地址信息

【C++】获得本机所有网卡的IP和MAC地址信息 一台机器上可能有多个网卡,每一个网卡只有一个MAC地址,但是每一个网卡可能配置有多个IP地址;如平常的笔记本电脑中,就会有无线网卡和有线网卡(网线...
  • lphbtm
  • lphbtm
  • 2016年03月11日 08:55
  • 267

Java/JSP获得客户端网卡MAC地址的三种方法解析(附:获得真实IP)

Java/JSP获得客户端网卡MAC地址的三种方法解析 从网上查找资料java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种。 1、通过命令方式,在客户端执行Ipconfig 等...
  • cactusz
  • cactusz
  • 2017年07月06日 15:49
  • 158

【miscellaneous】单播、广播和多播IP地址

转自:http://www.cnblogs.com/gaoxing/archive/2012/02/19/2358484.html     除地址类别外,还可根据传输的消息特征将IP...

UDP的socket绑定到IP地址后无法接受广播数据

由于考虑到我的程序要在多网卡的机器上运行,所以我将网卡的ip地址绑定到了socket server_addr.sin_addr.s_addr = inet_addr(servIP);但是这样就无法收...

同wifi环境下android设备自动获取socket服务端的ip地址和端口号的方法-UDP广播

一、最近做项目,需要使用socket做一个常连接,实现实时通信,但是需求是在同一个wifi环境下,ip地址是动态获取的,这样就造成了服务端地址的不确定性。解决这个问题的关键就是如何拿到服务端的Ip。我...

iOS 怎样通过UDP发送广播寻找设备,拿到ip地址,然后用TCP 连接设备

1.前言      什么是UDP协议广播机制?      举一个例, 例如在一群人群中,一个人要找张三,于是你向人群里大喊一声(广播):“谁是张三”   如果它是张三,它就会回应你,在网络中也...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获得网卡的IP及广播地址
举报原因:
原因补充:

(最多只允许输入30个字)