PYTHON   21
getMAC
Guest on 16th March 2023 12:05:31 AM


  1. import socket
  2. import fcntl
  3. import string
  4. import sys
  5. import exceptions
  6.  
  7. def hexy(n):
  8.         return "%02x" % (ord(n))
  9.  
  10. def getMAC(ifname):
  11.         SIOCGIFHWADDR = 0x8927 # magic number
  12.         s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  13.         ifname = string.strip(ifname)
  14.        
  15.         print ifname
  16.        
  17.         ifr = ifname + '\0' * (32-len(ifname))
  18.        
  19.         print ifr
  20.        
  21.         try:
  22.                 r= fcntl.ioctl(s.fileno(),SIOCGIFHWADDR,ifr)
  23.                 addr = map(hexy,r[18:24])
  24.                 ret = (':'.join(map(str, addr)))
  25.         except IOError, e:
  26.                 ret = ''
  27.         return ret
  28.  
  29. if __name__ == "__main__":
  30.         print getMAC(sys.argv[1])

Raw Paste

Login or Register to edit or fork this paste. It's free.