comparison contrib/whoisd/whoisd.pl @ 1189:7a618eaa29cb draft

LOTS of shit.
author epoch <epoch@hacking.allowed.ano>
date Thu, 09 Mar 2017 23:48:00 +0000
parents 7ea11723da51
children 93f2650b65c0
comparison
equal deleted inserted replaced
1188:b5fb7fa1b2c6 1189:7a618eaa29cb
123 } 123 }
124 } 124 }
125 } 125 }
126 126
127 127
128 # IPv4 addresses 128 # IPv4 addresses #this checks all dirs in the ip dir. so, 1., 2., and 21. (15)
129 sub IPv4_lookup { 129 sub IPv4_lookup {
130 if($QUERY =~ m/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/) { 130 if($QUERY =~ m/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/) {
131 printf "%% IP section for %s\n", $QUERY unless $HACK; 131 printf "%% IP section for %s\n", $QUERY unless $HACK;
132 chdir("$RESDB/db/ip") || die "%% error"; 132 chdir("$RESDB/db/ip") || die "%% error";
133 @parts=split(/\./,$QUERY); 133 @parts=split(/\./,$QUERY);
202 } 202 }
203 } 203 }
204 } 204 }
205 } 205 }
206 206
207 sub user_lookup { 207 sub user_based_lookups {
208 printf "%% user section for '%s'\n", $QUERY unless $HACK; 208 printf "%% user section for '%s'\n", $QUERY unless $HACK;
209 209
210 chdir("$RESDB/db/usr") || die "%% error"; 210 chdir("$RESDB/db/usr") || die "%% error";
211 if(chdir($QUERY)) { 211 if(chdir($QUERY)) {
212 foreach(split(/\n/,`grep '' -r .`)) { 212 foreach(split(/\n/,`grep '' -r .`)) {
228 printf "%-20s AS%s\n", "origin" . ":", $out unless $HACK; 228 printf "%-20s AS%s\n", "origin" . ":", $out unless $HACK;
229 @asn[scalar(@asn)]=$out; 229 @asn[scalar(@asn)]=$out;
230 } 230 }
231 chdir("$RESDB/db/ip") || die "%% error"; 231 chdir("$RESDB/db/ip") || die "%% error";
232 my $merp; 232 my $merp;
233 foreach(split(/\n/,`grep '^$QUERY\$' */*/*/owner | cut -d/ -f1-3`)) { 233 foreach(split(/\n/,`grep '^$QUERY\$' */*/*/owner | cut -d/ -f1-3 | xargs printf '%s/cidr\n' | xargs cat | uniq`)) {
234 $merp=`cat $_/cidr`; 234 chomp $_;
235 chomp $merp; 235 printf "%-20s %s\n", "cidr" . ":", $_;
236 printf "%-20s %s\n", "cidr" . ":", $merp;
237 } 236 }
238 237
239 foreach(split(/\n/,`grep -i -e "^$QUERY\$" "$RESDB/db/dom"/*/*/owner`)) { 238 foreach(split(/\n/,`grep -i -e "^$QUERY\$" "$RESDB/db/dom"/*/*/owner`)) {
240 $out = $_; 239 $out = $_;
241 $out =~ s/.*\/db\/dom\/(.+?)\/(.+?)\/owner.*/\2\.\1/; 240 $out =~ s/.*\/db\/dom\/(.+?)\/(.+?)\/owner.*/\2\.\1/;
273 272
274 ASN_lookup($user); 273 ASN_lookup($user);
275 IPv4_lookup($user); 274 IPv4_lookup($user);
276 domain_lookup($user); 275 domain_lookup($user);
277 IPv6_lookup($user); 276 IPv6_lookup($user);
278 #user_lookup(); 277 $QUERY=$user;
278 user_based_lookups($user);