diff options
Diffstat (limited to 'src/bin/iprand.c')
-rw-r--r-- | src/bin/iprand.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/bin/iprand.c b/src/bin/iprand.c new file mode 100644 index 0000000..e6b2f83 --- /dev/null +++ b/src/bin/iprand.c @@ -0,0 +1,17 @@ +#include <stdio.h> +#include <time.h> + +int main(int argc,char *argv[]) { + srandom(time(0)+getpid()); + unsigned int ip; + unsigned int net=argc>1?htonl(inet_addr(argv[1])):0x0; + unsigned int mask=argc>2?htonl(inet_addr(argv[2])):0x0; + unsigned int a=argc>3?atoi(argv[3]):3; + net &= mask; + for(;a>0;a--) { + ip=random(); + ip &= ~mask; + ip |= net; + printf("%d.%d.%d.%d\n",ip>>24&255,ip>>16&255,ip>>8&255,ip&255); + } +} |