当前位置:  技术问答>linux和unix

unix、linux下只输出本机mac地址的命令

    来源: 互联网  发布时间:2017-04-15

    本文导语:  unix、linux下只输出本机mac地址的shell命令? 不要ifconfig那种的输出一大堆。。。最好时只输出mac字符串 | 没用过苹果系统,不过我觉得上面的资料已经足够了。 Shell方式,可以根据1、2楼的写...

unix、linux下只输出本机mac地址的shell命令?
不要ifconfig那种的输出一大堆。。。最好时只输出mac字符串

|
没用过苹果系统,不过我觉得上面的资料已经足够了。
Shell方式,可以根据1、2楼的写法自己改。查查grep和awk基本用法而已。
我的方法,如果用苹果系统有strace,那么跟踪一下ifconfig在获取网卡MAC是的syscall。看看是否确如我提供的那个ioctl。如果是,google苹果系统下这个API的头文件;如果不是,用ifconfig的那个syscall。

|
# ifconfig  | grep HWaddr | awk '{print $4,$5}'
HWaddr 00:50:56:8E:00:3B
HWaddr 52:54:00:B8:7D:FA
#

|
ifconfig | awk '{print $5}' | head -1

|
我想已经猜到楼主意欲何为了。。。
楼主还是直接用ioctl吧

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

int getmac(char *ethname, char *macbuf)
{
        int sock;
        struct ifreq iface;
        char tmp_mac[10];

        sock = socket(PF_INET, SOCK_DGRAM, 0);
        strcpy(iface.ifr_name, ethname);

        if(ioctl(sock, SIOCGIFHWADDR, &iface) != 0) {
                close(sock);
                return 1;
        }

        memcpy(tmp_mac, iface.ifr_hwaddr.sa_data, 6);
        sprintf(macbuf, "%02X:%02X:%02X:%02X:%02X:%02X",
                tmp_mac[0] & 0xFF, tmp_mac[1] & 0xFF, tmp_mac[2] &0xFF,
                tmp_mac[3] & 0xFF, tmp_mac[4] & 0xFF, tmp_mac[5] & 0xFF);
        return 0;
}

int main(void)
{
        char buf[256];

        getmac("eth0", buf);
        puts(buf);

        return 0;
}

    
 
 

您可能感兴趣的文章:

  • UNIX下 如何获取本机服务状态? 谢谢
  • 如何将另一台UNIX主机的路径 mount到本机?
  • UNIX 下如何查看本机 IP ?
  • SCO UNIX505,ftp 到本机都不通,而且没有任何提示,什么原因?
  • 在Unix下写的printf输出怎么不能在控制台上看到输出内容呢?
  • 关于unix使用参数导致脚本输出异常(与脚本内直接带参数输出结果不同)
  • UNIX下如何读取标准输出上的字符?
  • unix shell中能否将后台运行程序的输出保存到变量中?
  • 求助:关于UNIX下格式化输出的问题,请大家关注一下
  • unix有一个工具,可以对自己编写的C程序进行符合各种编码风格的输出转换,谁知道?
  • 请教:unix下c程序输出控制与重定向用于调试
  • UNIX 循环输出时间段
  • UNIX下利用管道重定向实现对程序的输出进行操作
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我是unix初学者,请问哪里有unix的命令集?
  • Unix下有ping命令吗?或者有相似的命令吗?
  • unix命令后面加分号“;“,对命令有影响吗
  • 这个 unix 命令如何改为 dos 命令?
  • 请问,在unix下,关闭oracle数据库和重起unix,的正确顺序和命令应该是怎样的!请教!
  • 请教unix常用命令命令问题
  • 高手指点 hp unix的find命令和solaris的find命令 区别
  • UNIX下的命令自动补齐、命令行的历史记录是不是只有root帐号有
  • UNIX 中Source命令是做什么用的,怎么用的(讲解一下命令得意义和用法,最好举个简单易懂得例子)
  • 在Unix下用rm命令误删除了文件,然后再无其它操作,请问,可以恢复吗?有直接的命令吗?
  • unix shell如何在不把命令结果打出来的情况下判断命令是否可以执行呢?
  • Unix命令
  • 请问在UNIX中有那些常用的命令,其功能是什么!
  • unix下用什么命令可以统计所有进程的内存
  • unix下的命令回溯问题
  • 有关Linux和Unix下命令安装位置
  • 请问,linux和unix到底有什么区别,可不可以通过安装学习linux来掌握unix的命令等知识?
  • 求unix的基本命令,哪里可以下载哦
  • Unix 命令行数据复制程序 ddpt
  • 哪里有介绍SCO UNIX命令的电子书籍?
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • unix/Linux下c++ boost thread库读写锁介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 没有unix系统我如何学习unix
  • php将unix时间戳转换成字符串时间函数(date)
  • unix盘哪里有下载的??哪里有比较好的unix论坛??万分感谢!!!!!!!!!
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • UNIX特急!!!digital unix问题,请专家快来!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,