summaryrefslogtreecommitdiff
path: root/src/bin/iprand.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/iprand.c')
-rw-r--r--src/bin/iprand.c17
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);
+ }
+}