Tuesday, August 09, 2011
Hinky Hack - ipconv.c
This little program takes a dotted-quad IP and returns the 32 bit unsigned integer that is the "real" address. Given a 32 bit "real" address, it will return the dotted-quad representation.
Given an FQDN it will return 0.
I already know there are a zillion different ways to do this, so spare me your Better Way.
#include <stdlib.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <string.h>
void main( int argc, char **argv )
{
struct in_addr x;
if ( argc==1 || argc>2 ) return ;
if ( (strchr(argv[1], '.'))!=NULL) {
inet_aton( argv[1], &x );
printf( "%u\n", ntohl(x.s_addr) );
} else {
x.s_addr=htonl((uint32_t)(atoll(argv[1])));
printf("%s\n", inet_ntoa(x) );
}
}
Compiles fine under Cygwin or vanilla Linux.
Oh and screw you if you don't like my coding style.
And I mean that in the most positive way possible.
Subscribe to:
Post Comments (Atom)
I dig it, thanks man.
ReplyDeleteNo charge. GPL assumed.
ReplyDelete