Guest User

Untitled

a guest
Jun 23rd, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. import fcntl
  2. import socket
  3. import struct
  4.  
  5.  
  6. def get_hw_addr(interface):
  7. with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
  8. info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', interface[:15].encode()))
  9. return ':'.join('%02x' % i for i in info[18:24])
  10.  
  11.  
  12. def get_ethernet_addr(interface):
  13. with socket.socket(socket.AF_PACKET, socket.SOCK_RAW) as s:
  14. s.bind((interface, 0))
  15. _, _, _, _, addr = s.getsockname()
  16. return ':'.join('%02x' % i for i in addr)
  17.  
  18.  
  19. if __name__ == '__main__':
  20. print(get_hw_addr('enp0s3'))
  21. print(get_ethernet_addr('enp0s3'))
Add Comment
Please, Sign In to add comment