`
老竹枝
  • 浏览: 80949 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux系统中使用C语言获取指定网口的MAC地址

阅读更多
#define	MAC_ADDR_LEN	6

extern int getLocalMacAddr(const u_char *interfaceName,char *mac){
	int sockFd = 0;
	struct ifreq ifr;

	if(NULL == interfaceName){
		printf("Invalid argument");
		return -1;
	}
	if(NULL == mac){
		printf("Invalid argument");
		return -1;
	}
	
	strncpy(ifr.ifr_name, interfaceName, sizeof(ifr.ifr_name));
	if ((sockFd = socket(PF_INET, SOCK_STREAM, 0)) == -1){
		printf("open socket fail.");
		return -1;
	}

	if (ioctl(sockFd, SIOCGIFHWADDR, &ifr) == -1){
		printf("get mac address fail.");
		return -1;
	}

	memcpy(mac,(u_char *)ifr.ifr_hwaddr.sa_data,MAC_ADDR_LEN);
	

	return 0;

}
分享到:
评论

相关推荐

    C语言去获取Linux系统的IP地址和MAC地址的方法

    C语言获取Linux系统的IP地址和MAC地址的方法 在Linux系统中,获取IP地址和MAC地址是一件棘手的事情,特别是在特殊场合下,我们可能需要更多的信息,如系统中有几块网卡,他们的MAC地址是多少,每块网卡分配了几个IP...

    linux 下C语言获取网卡MAC地址

    适用于linux环境的C语言程序,获取网卡MAC地址,附详细操作说明,两种方式写成的程序,都能达到所需功能,测试可用。

    C语言获取CPUID和MAC地址

    以下是在Linux系统中使用C语言读取MAC地址的例子: ```c #include #include #include #include #define IFADDRS_PATH "/sys/class/net/%s/address" int main() { char interface[] = "eth0"; // 通常为网卡...

    Linux和WindowsC语言获取(CPU序列号、硬盘序列号、网卡信息、IP地址、MAC地址、网卡是否插入网线)硬件信息源码

    本文将详细讨论如何使用C语言在Linux和Windows操作系统中获取CPU序列号、硬盘序列号、网卡信息(包括网卡名称、IP地址、MAC地址以及网络连接状态)。 首先,我们来探讨CPU序列号的获取。在Windows系统中,可以使用...

    C语言获取硬件信息(CPU序列号,硬盘序列号,网卡IP、MAC地址、是否插入网线).zip

    本文将详细讲解如何使用C语言在Linux和Windows操作系统下获取CPU序列号、硬盘序列号以及网卡的相关信息,如网卡名称、IP地址、MAC地址和网络连接状态。 首先,让我们关注CPU序列号的获取。在Windows系统中,可以...

    C语言获取windows操作系统MAC列表

    使用C语言获取windows操作系统的MAC列表,已实测可以运行

    试论Linux系统下计算机C语言的编程技巧.pdf

    "试论Linux系统下计算机C语言的编程技巧.pdf" 本文探讨了Linux系统下计算机C语言的编程技巧,旨在提高计算机C语言编程的效率和质量。通过分析Linux系统和计算机C语言的特点,对Linux系统下计算机C语言的编程技巧...

    基于Linux系统下的计算机C语言编程技巧探析.pdf

    本文探析了基于Linux系统下的计算机C语言编程技巧,讨论了C语言在Linux系统中的应用、优点和挑战。文章首先介绍了Linux系统的特点和优点,然后讨论了C语言在Linux系统中的应用和挑战。文章还探析了C语言的优点,包括...

    关于Linux系统下计算机C语言的编程技巧分析.pdf

    在Linux系统下计算机C语言的编程技巧分析中,我们可以看到C语言的重要性。C语言是计算机发展的关键要素,掌握C语言的编程技巧能够更好的发挥计算机的作用。因此,我们需要不断的学习和实践,以提高自己的编程水平。 ...

    Linux操作系统下C语言编程入门3

    Linux操作系统下C语言编程入门,是初学者的必备佳品。

    linux操作系统下c语言编程入门

    2. **进程介绍**:在Linux中,进程是程序的一次执行实例。了解进程创建(fork())、进程通信(pipe、fifo、socket等)以及进程间同步与互斥(信号量、互斥锁、条件变量)的概念,对于编写多进程程序非常关键。 3. *...

    Linux操作系统C语言编程入门

    Linux操作系统下的C语言编程是计算机科学中的基础课程,它涵盖了如何在Linux环境下使用C语言进行程序设计的关键概念和技术。C语言是一种强大而灵活的编程语言,尤其适合系统级编程和底层操作,因此在Linux这样的开源...

    Linux操作系统下C语言编程入门.pdf

    在IT领域,Linux操作系统与C语言的结合是程序员学习的基础之一。C语言作为一种强大的系统级编程语言,常常被用于开发操作系统、嵌入式系统以及各种应用程序。而在Linux环境下,C语言编程更是有着广泛的应用,因为...

    linux上用c语言写的简易日历

    在Linux操作系统中,C语言是一种常用的编程语言,用于开发各种应用程序。这个简易日历程序是为初学者设计的,旨在帮助他们理解C语言的基本概念,同时接触与Linux系统交互的知识。下面将详细介绍这个项目的相关知识点...

    Linux系统下计算机C语言的编程技巧探讨.pdf

    "Linux系统下计算机C语言的编程技巧探讨" ...Linux系统下计算机C语言的编程技巧探讨需要结合相关理论知识,掌握好数据结构和系统编程两者间的关系,并且需要科学使用GCC编译器,才能顺利完成计算机C语言的编程工作。

    Linux系统下计算机C语言的编程技巧解析.pdf

    本文档主要讨论了Linux系统下计算机C语言的编程技巧解析。文中首先介绍了C语言的重要性和作用,以及其在IT行业中的应用范围。然后,文中探讨了C语言在Linux系统下的编程技巧,包括理论知识和实践操作能力的重要性。...

Global site tag (gtag.js) - Google Analytics