Advertisement
rfmonk

ipv6_prefix.py

Jun 30th, 2014
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.92 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3.  
  4. import socket
  5. import netifaces as ni
  6. import netaddr as na
  7.  
  8.  
  9. def extract_ipv6_info():
  10.     print "IPv6 support built into Python: %s" %socket.has_ipv6
  11.     for interface in ni.interfaces():
  12.         all_addresses = ni.ifaddresses(interface)
  13.         print "Interface %s:" %interface
  14.         for family, addrs in all_addresses.iteritems():
  15.             fam_name = ni.address_families[family]
  16.             # print '   Address family: %s' % fam_name
  17.             for addr in addrs:
  18.                 if fam_name == 'AFINET6':
  19.                     addr = addr['addr']
  20.                     has_eth_string = addr.split("%eth")
  21.                     if has_eth_string:
  22.                         addr = addr.split("%eth")[0]
  23.                         print "     IP Address: %s" %na.IPNetwork(addr)
  24.                         print "     IP Version: %s" %na.IPNetwork(addr).version
  25.                         print "     IP Prefix length: %s" \
  26.                         %na.IPNetwork(addr).prefixlen
  27.                         print "     Network: %s" %na.IPNetwork(addr).network
  28.                         print "     Broadcast: %s" %na.IPNetwork(addr).broadcast
  29.  
  30. if __name__ == '__main__':
  31.     extract_ipv6_info()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement