Determining Ethernet HW Address
Mark Hammond
mhammond at skippinet.com.au
Tue Mar 28 06:30:53 EST 2000
More information about the Python-list mailing list
Tue Mar 28 06:30:53 EST 2000
- Previous message (by thread): Determining Ethernet HW Address
- Next message (by thread): Determining Ethernet HW Address
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Darrell" <darrell at dorb.com> wrote in message news:dhSD4.7202$JE5.97355 at typhoon.nyroc.rr.com... > "Jerome Chan" <eviltofu at rocketmail.com> wrote in message > > Is there a portable way of determining the Ethernet HW Address? > > > For windows without using Win32 try parsing the output of ipconfig /all I couldnt resist :-) In win32all-130 you will be able to use the Netbios function: from netbios import * # code ported from "HOWTO: Get the MAC Address for an Ethernet Adapter" # MS KB ID: Q118623 ncb = NCB() ncb.Command = NCBENUM la_enum = LANA_ENUM() ncb.Buffer = la_enum rc = Netbios(ncb) if rc != 0: raise RuntimeError, "Unexpected result %d" % (rc,) for i in range(la_enum.length): ncb.Reset() ncb.Command = NCBRESET ncb.Lana_num = ord(la_enum.lana[i]) rc = Netbios(ncb) if rc != 0: raise RuntimeError, "Unexpected result %d" % (rc,) ncb.Reset() ncb.Command = NCBASTAT ncb.Lana_num = ord(la_enum.lana[i]) ncb.Callname = "* " adapter = ADAPTER_STATUS() ncb.Buffer = adapter Netbios(ncb) print "Adapter address:", for ch in adapter.adapter_address: print "%02x" % (ord(ch),) , print Yields on my dual-NIC server: Adapter address: 00 a0 cc 54 22 2d Adapter address: 00 40 05 6b fc ca (both of which are correct :-) Mark.
- Previous message (by thread): Determining Ethernet HW Address
- Next message (by thread): Determining Ethernet HW Address
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list