1

IRIXでネットワークカードのMACアドレスを見つけるにはどうすればよいですか?それを表示して出力を解析するものにシェルアウトしたくありません。

私はCをコーディングしています。

ルートアクセスを必要とするメソッドは許容されます。

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アドレスを取得できます。ioctl()プラットフォームに依存するため、IRIXを確認する必要があります。

于 2009-09-28T08:31:49.523 に答える