如何在IRIX上以编程方式找到MAC地址?

时间:2009-09-28 07:31:21

标签: c unix irix

如何在IRIX上找到网卡的MAC地址?我宁愿不用外壳来显示它并解析输出。

我正在编码C.

需要root访问权限的方法是可以接受的。

3 个答案:

答案 0 :(得分:2)

#include <net/raw.h>
#include <net/if.h>
#include <net/soioctl.h> 
#include <sys/ioctl.h> 
#include <sys/types.h> 
#include <sys/socket.h>
#include <unistd.h>

...

struct ifreq ifdat;
int s;

s = socket (PF_RAW, SOCK_RAW, RAWPROTO_SNOOP);
strcpy (ifdat.ifr_name, "en0");
ioctl (s, SIOCGIFADDR, &ifdat);

...

清理一下,ifdat应该包含你的MAC地址。

答案 1 :(得分:1)

我不知道编程方式,但您可以尝试/etc/nvram eaddr,我想您可以exec()

答案 2 :(得分:0)

在某些平台上(例如Linux)ioctl()允许获取MAC地址。您需要检查IRIX,因为ioctl()与平台有关。