import socket
import struct


def IpStr2NetInt(IpStr):
    return struct.unpack( "I",socket.inet_aton(IpStr)  )[0]

def IpStr2HostInt(IpStr):
    return socket.ntohl(  IpStr2NetInt(IpStr)  )    
def NetInt2IpStr(NetInt):
    #return HostInt2IpStr( socket.ntohl(NetInt) )
    return socket.inet_ntoa( struct.pack('I',NetInt)  )   
def HostInt2IpStr(HostInt): 
    return NetInt2IpStr( socket.htonl(HostInt)  )   

def main():
   ip="127.0.0.1"
   print IpStr2NetInt(ip)
   print IpStr2HostInt(ip)
   print NetInt2IpStr( 16777343)
   print HostInt2IpStr( 2130706433)
main()