Convert MAC to hex howto

Peter Otten __peter__ at web.de
Sun Oct 7 17:01:17 EDT 2012


Johannes Graumann wrote:

> Dear all,
> 
> I'm trying to convert
> '00:08:9b:ce:f5:d4'
> to
> '\x00\x08\x9b\xce\xf5\xd4'
> for use in magic packet construction for WakeOnLan like so:
> wolsocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>        wolsocket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
> wolsocket.sendto('\xff'*6 + '\x00\x08\x9b\xce\xf5\xd4'*16,
> (expectedlanbroadcast, 80))
> 
> This is what I came up whith, but I remain puzzled on how to preserver the
> leading '\h' ... thanks for any hint
> 
> expectedservermac = '00:08:9b:ce:f5:d4'
> hexcall = str.split(expectedservermac,":")
> hexcall.insert(0,'')
> hexcall = "\\x".join(hexcall).decode('string_escape')

>>> import binascii
>>> expectedservermac = '00:08:9b:ce:f5:d4'
>>> binascii.unhexlify(expectedservermac.replace(":", ""))
'\x00\x08\x9b\xce\xf5\xd4'





More information about the Python-list mailing list