Macchanger-查看Linux的当前临时有效的mac地址和永久物理的mac地址

#macchanger -s eth0可以获得mac的真实mac地址

Current MAC: 00:07:3e:90:45:92 (China Great-Wall Computer Shenzhen Co., Ltd.)
Permanent MAC: 00:07:3e:90:45:7f (China Great-Wall Computer Shenzhen Co., Ltd.)

#include "maclist.h"
#include "netinfo.h"

//ljc 18/11/21 查看mac地址的原始值和临时值
int Get_CP_Mac(char *device_name, char *Current_Mac, char *Permanent_Mac)
{
if((device_name == NULL) || (Current_Mac == NULL) || (Permanent_Mac == NULL))
{
printf("*Get_CP_Mac start init failed!!!!\n");
return EXIT_ERROR;
}

net_info_t *net;
mac_t *mac;
mac_t *mac_permanent;
/* Read the MAC lists */
if (mc_maclist_init() < 0)
{
printf("*MAC lists init failed!!!!");
return EXIT_ERROR;
}
printf("*device_name :%s\n\n",device_name);
if ((net = mc_net_info_new(device_name)) == NULL)
{
printf("*mc_net_info failed!!!!");
return EXIT_ERROR;
}
printf("*+++++++++malloc++++ net %p\n",net);
mac = mc_net_info_get_mac(net);
printf("*+++++++++malloc++++ mac %p\n",mac);
mac_permanent = mc_net_info_get_permanent_mac(net);
printf("*+++++++++malloc++++ mac_permanent %p\n",mac_permanent);

//获得临时mac地址
int is_wireless;
is_wireless = mc_maclist_is_wireless(mac);
mc_mac_into_string (mac, Current_Mac);
//获得永久mac地址
is_wireless = mc_maclist_is_wireless(mac_permanent);
mc_mac_into_string (mac_permanent, Permanent_Mac);

printf("temp——mac:%s\n", Current_Mac);
printf("Permanent——mac:%s\n", Permanent_Mac);

printf("\n*1---free--- net %p\n",net);
mc_net_info_free (net);
printf("*2---free--- mac %p\n",mac);
mc_mac_free (mac);
printf("*3---free--- mac_permanent %p\n\n",mac_permanent);
mc_mac_free (mac_permanent);
mc_maclist_free();

return EXIT_OK;
}

//ljc 18/11/21
char Current_Mac[MAC_LEN];
char Permanent_Mac[MAC_LEN];

int Ret = Get_CP_Mac(mac_Info_name,Current_Mac, Permanent_Mac);
if(Ret == EXIT_ERROR)
{
return -1;
}
printf("temp——mac:%s\n", Current_Mac);
printf("Permanent——mac:%s\n", Permanent_Mac);

原文地址:https://www.cnblogs.com/Lijcyy/p/9994848.html

时间: 2024-08-30 05:07:17

Macchanger-查看Linux的当前临时有效的mac地址和永久物理的mac地址的相关文章

查看Linux系统状态的常用命令

一.查看CPU的详细情况 判断服务器CPU的情况依据如下:a. 具有相同的core id 的PUC是由同一个core的超线程.b. 具有相同的physical id 的CPU是同一个CPU封闭的线程或核心方法1:物理个CPU个数如下:以下为2个CPU [[email protected] ~]# cat /proc/cpuinfo|grep "physical id"|sort|uniq|wc -l 2 每个物理CPU中的core的个数(即核数): [[email protected]

【转】Linux 高级的视角来查看Linux引导过程

[原文]https://www.toutiao.com/i6594210975480545800/ 1.概述 图 1 是我们在20,000 英尺的高度看到的视图. 当系统首次引导时,或系统被重置时,处理器会执行一个位于已知位置处的代码.在个人计算机(PC)中,这个位置在基本输入/输出系统(BIOS)中,它保存在主板上的闪存中.嵌入式系统中的中央处理单元(CPU)会调用这个重置向量来启动一个位于闪存/ROM中的已知地址处的程序.在这两种情况下,结果都是相同的.因为PC提供了很多灵活性,BIOS必须

查看Linux系统版本信息

一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [[email protected]CentOS home]# cat /proc/versionLinux version 2.6.32-431.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013 2.uname -a [

一、查看Linux内核版本命令(两种方法):

一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [[email protected]CentOS home]# cat /proc/versionLinux version 2.6.32-431.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013 2.uname -a [

&#8203;查看Linux系统的所有配置命令

查看Linux系统的所有配置命令     1.查看主板的序列号: dmidecode | grep -i 'serial number'     2.查看CPU信息: cat /proc/cpuinfo dmesg | grep -i 'cpu' dmidecode -t processor     3.查看内存信息: cat /proc/meminfo free -m vmstat     5.查看网卡信息: dmesg | grep -i 'eth' cat /etc/sysconfig/h

查看Linux系统架构类型的5条常用命令

导读 很多时候我们都需要查看当前 Linux 系统是 32 位还是 64 位系统架构类型,本文中我将向大家推荐 5 条常用命令.无论你使用的是桌面版或是只装了文本界面的 Linux 环境,以下命令几乎可以通吃所有 Linux 发行版,例如:RHEL.CentOS.Fedora.Scientific Linux.Debian.Ubuntu.Linux Mint.OpenSUSE 等等. 1. uname 命令 uname -a 命令可以直接显示 Linux 系统架构的命令,安几乎可以工作在所有 L

Ubuntu下查看linux版本,内核版本,系统位数,gcc版本

1. 查看linux版本  [email protected]:~$cat /etc/issueUbuntu 11.04 \n \l 2. 查看内核版本1) [email protected]:~$ cat /proc/versionLinux version 2.6.38-13-generic ([email protected]) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ) #57-Ubuntu SMP Mon Mar 5 18:1

查看linux server网络流量的shell脚本

之前写过一个查看linux服务器当前流量的小脚本,很简单,但能直观的给我们一些信息 #!/bin/sh ###统计10s内的平均流量,以Mb为单位 if [ "$1" = "" ];then    echo -e "\n      use interface_name after the script,like \"$0 eth0\"...\n"    exit -1 fi echo -e "\n      star

如何正确查看Linux机器内存使用情况

如何正确查看Linux机器内存使用情况 背景 ??只要工作上涉及到Linux机器,基本上都会有这样一个需求,查看内存使用情况,但是怎么看才正确呢?之前使用的是top命令,一直存在一个误区. 为什么top命令看内存会有误区? ??top是个很好用的系统分析工具,可以实时查看进程,cpu使用率,内存使用率等情况,有点像windows下的任务管理器.我以前一直以为top看到的就是真正的内存使用情况,后来baidugoogle好久,才发现自己图样.= =|| 首先看下top命令后展示出来的内存使用情况,