[Mono-dev] get mac address using system.management
Mike Edenfield
kutulu at kutulu.org
Mon Apr 13 16:40:41 EDT 2009
On 4/13/2009 1:50 PM, tooty wrote:
> so, can anyone tell me what is the wright method of managementclass that
> will let me get the network adapter properties?
I don't believe any of the System.Management namespace is currently
implemented, for exactly the reason you specified: WMI is way too
closely tied to Windows.
> or any other way i should use for linux system?
> thnx in advance.
The typical ways on a Unix system to get the hardware address:
* Run ifconfig and parse the output (e.g. via Process())
* On Linux, at least, you can read from sysfs (assuming a new enough
kernel): /sys/class/net/<ifname>/address
* Open a socket, and send it an ioctl(SIOCGIFHWADDR), passing in a
struct ifreq with the "ifr_name" field set to the interface name. On
return, the "ifr_hwaddr.sa_data" field contains the hardware address.
You should be able to use the Socket::IOControl method to help here.
* Read the kernel source for how SIOCGIFHWADDR is implemented, then do
that :) Probably involving way more work with DllImport, Marshalling,
and syscalls than you want to think about.
More information about the Mono-devel-list
mailing list