wait, really? padding with zeros maps to a different IP address than the non-padded version?
Is that because a leading zero causes it to be interpreted as an octal number?
In [2]: socket.inet_aton('226.000.000.037')
Out[2]: b'\xe2\x00\x00\x1f'
In [3]: socket.inet_aton('226.000.000.37')
Out[3]: b'\xe2\x00\x00%'
In [4]: socket.inet_ntoa(b'\xe2\x00\x00\x1f')
Out[4]: '226.0.0.31'
In [5]: socket.inet_ntoa(b'\xe2\x00\x00%')
Out[5]: '226.0.0.37'