1

如何在 IRIX 上找到网卡的 MAC 地址?我宁愿不掏出显示它并解析输出的东西。

我正在编写 C 代码。

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

4

3 回答 3

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 地址。

于 2010-04-02T21:56:43.603 回答
1

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

于 2009-09-28T08:23:10.103 回答
0

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

于 2009-09-28T08:31:49.523 回答