如何在IRIX上找到网卡的MAC地址?我宁愿不用外壳来显示它并解析输出。
我正在编码C.
需要root访问权限的方法是可以接受的。
答案 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()
与平台有关。