Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 3.133.124.247
Web Server : Apache/2.4.61 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/share/doc/libnet-dns-perl/examples/contrib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/doc/libnet-dns-perl/examples/contrib/loclist.pl
#!/usr/bin/perl

# loclist.pl -- check a list of hostnames for LOC records

#  -v  -- verbose output (include NO results).  used to be the default
#  -n  -- try looking for network LOC records as well (slower)
#  -r  -- try doing reverse-resolution on IP-appearing hosts
#  -d  -- debugging output

# egrep 'loc2earth.*host' /serv/www/logs/wn.log |
#    perl -pe 's/^.*host=//; s/([a-zA-Z0-9.-]+).*/$1/' |
#    sort -u | ~/loclist.pl > loc.sites

use strict;
use warnings;

use Net::DNS '0.08';
use Getopt::Std;

getopts('vnrd');

$res = Net::DNS::Resolver->new();

line:
    while (<>) {
      chomp;
      $foundloc = $namefound = 0;

      next line if m/^$/;
      next line if m/[^\w.-\/+_]/; # /, +, _ not actually valid in hostnames

      print STDERR "$_ DEBUG looking up...\n" if $opt_d;

      if (m/^\d+\.\d+\.\d+\.\d+$/) {
	if ($opt_r) {
	  $query = $res->query($_);
	  
	  if (defined ($query)) {
	    foreach my $ans ($query->answer) {
	      if ($ans->type eq "PTR") {
		$_ = $ans->ptrdname;
		$namefound++;
	      }
	    }
	  }
	}
	next line unless $namefound;
      }

      $query = $res->query($_,"LOC");

      if (defined ($query)) {	# then we got an answer of some sort
	foreach my $ans ($query->answer) {
	  if ($ans->type eq "LOC") {
	    print "$_ YES ",$ans->rdatastr,"\n";
	    $foundloc++;
	  }
	}
      }
      if ($opt_n && !$foundloc) {		# try the RFC 1101 search bit
	@addrs = @netnames = ();
	$query = $res->query($_,"A");
	if (defined ($query)) {
	  foreach my $ans ($query->answer) {
	    if ($ans->type eq "A") {
	      push(@addrs,$ans->address);
	    }
	  }
	}
	if (@addrs) {
	checkaddrs:
	  foreach my $ipstr (@addrs) {
	    $ipnum = unpack("N",pack("CCCC",split(/\./,$ipstr,4)));
	    ($ip1) = split(/\./,$ipstr);
	    if ($ip1 >= 224) { # class D/E, treat as host addr
	      $mask = 0xFFFFFFFF;
	    } elsif ($ip1 >= 192) { # "class C"
	      $mask = 0xFFFFFF00;
	    } elsif ($ip1 >= 128) { # "class B"
	      $mask = 0xFFFF0000;
	    } else {	# class A
	      $mask = 0xFF000000;
	    }
	    $oldmask = 0;
	    while ($oldmask != $mask) {
	      $oldmask = $mask;
	      $querystr =
		  join(".", reverse (unpack("CCCC",pack("N",$ipnum & $mask))))
		      . ".in-addr.arpa";
	      $query = $res->query($querystr,"PTR");
	      if (defined ($query)) {
		foreach my $ans ($query->answer) {
		  if ($ans->type eq "PTR") {
		    # we want the list in LIFO order
		    unshift(@netnames,$ans->ptrdname);
		  }
		}
		$query = $res->query($querystr,"A");
		if (defined ($query)) {
		  foreach my $ans ($query->answer) {
		    if ($ans->type eq "A") {
		      $mask = unpack("L",pack("CCCC",
					      split(/\./,$ans->address,4)));
		    }
		  }
		}
	      }
	    }
	    if (@netnames) {
	      foreach my $network (@netnames) {
		$query = $res->query($network,"LOC");
		if (defined ($query)) {
		  foreach my $ans ($query->answer) {
		    if ($ans->type eq "LOC") {
		      print "$_ YES ",$ans->rdatastr,"\n";
		      $foundloc++;
		      last checkaddrs;
		    } elsif ($ans->type eq "CNAME") {
		      # XXX should follow CNAME chains here
		    }
		  }
		}
	      }
	    }
	  }
	}
      }
      if ($opt_v && !$foundloc) {
	print "$_ NO\n";
      }
    }

Anon7 - 2022
AnonSec Team