当前位置: 技术问答>linux和unix
如何在linux中获取网卡信息
来源: 互联网 发布时间:2016-12-30
本文导语: 在windows平台中有个GetAdaptersInfo函数用来获取网卡的相关信息,不知道在linux中有没有类似的方法? 环境是CentOS5.3,使用Codeblocks+WX2.8 | #include #include #include #include #include #include #include #inc...
在windows平台中有个GetAdaptersInfo函数用来获取网卡的相关信息,不知道在linux中有没有类似的方法?
环境是CentOS5.3,使用Codeblocks+WX2.8
环境是CentOS5.3,使用Codeblocks+WX2.8
|
#include
#include
#include
#include
#include
#include
#include
#include
#include
unsigned char g_eth_name[16];
unsigned char g_macaddr[6];
unsigned int g_subnetmask;
unsigned int g_ipaddr;
unsigned int g_broadcast_ipaddr;
/*初始化网络,获取当前网络设备的信息*/
void init_net(void)
{
int i;
int sock;
struct sockaddr_in sin;
struct ifreq ifr;
sock = socket(AF_INET, SOCK_DGRAM, 0);
if (sock == -1) {
perror("socket");
}
strcpy(g_eth_name, "eth0");
strcpy(ifr.ifr_name, g_eth_name);
printf("eth name:t%sn", g_eth_name);
// 获取并打印网卡地址
if (ioctl(sock, SIOCGIFHWADDR, &ifr)