Inet_aton returns a string of bytes. This used to be the lingua franca language for C interfaces.
Here's how to unpack these bytes into a more useful value.
>>> import socket
>>> packed_n= socket.inet_aton("128.0.0.1")
>>> import struct
>>> struct.unpack( "!L", packed_n )
(2147483649L,)
>>> hex(_[0])
'0x80000001L'
This unpacked value can be used with ctypes. The hexagonal thing is just to show you that the unpacked value is like an IP address.