⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aaa.c

📁 获取本机外网IP
💻 C
字号:
#include <string.h> 
#include <sys/types.h> 
#include <sys/socket.h> 
#include <sys/ioctl.h> 
#include <netinet/in.h> 
#include <net/if.h> 

int main() 
{
	 char mac_add[50]; 
int fd; 
int i;
struct ifreq ifr; 

fd = socket(AF_INET, SOCK_DGRAM, 0); 

ifr.ifr_addr.sa_family = AF_INET; 
strncpy(ifr.ifr_name, "eth0", IFNAMSIZ-1); 

ioctl(fd, SIOCGIFHWADDR, &ifr); 

close(fd); 

printf("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n", 
(unsigned char)ifr.ifr_hwaddr.sa_data[0], 
(unsigned char)ifr.ifr_hwaddr.sa_data[1], 
(unsigned char)ifr.ifr_hwaddr.sa_data[2], 
(unsigned char)ifr.ifr_hwaddr.sa_data[3], 
(unsigned char)ifr.ifr_hwaddr.sa_data[4], 
(unsigned char)ifr.ifr_hwaddr.sa_data[5]); 
sprintf(mac_add,"%.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n", 
(unsigned char)ifr.ifr_hwaddr.sa_data[0], 
(unsigned char)ifr.ifr_hwaddr.sa_data[1], 
(unsigned char)ifr.ifr_hwaddr.sa_data[2], 
(unsigned char)ifr.ifr_hwaddr.sa_data[3], 
(unsigned char)ifr.ifr_hwaddr.sa_data[4], 
(unsigned char)ifr.ifr_hwaddr.sa_data[5]); 
 for(i=0;i<strlen(mac_add);i++)
        {
        	if((mac_add[i]>=97)&&(mac_add[i]<=122))
        		mac_add[i]-=32;
        //toupper(mac_addr[i]);
        printf("%c\n",mac_add[i]);
      }
        printf("%s\n",mac_add);
return 0; 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -