Advertisement
Guest User

Untitled

a guest
Jun 26th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4.  
  5. use Net::DNS;
  6. use DBI;
  7.  
  8. my $samplesize = 100;
  9.  
  10. my %results = ();
  11. $results{'cambridge'} = 0;
  12. $results{'internap'} = 0;
  13. $results{'paetec'} = 0;
  14. $results{'total_hits'} = 0;
  15.  
  16. my %sites = (
  17. '66.155.171.116' => 'paetec',
  18. '69.25.47.116' => 'internap',
  19. '64.69.12.116' => 'cambridge'
  20. );
  21.  
  22. my $res = Net::DNS::Resolver->new(
  23. nameservers => [qw(127.0.0.1)],
  24. recurse => 0,
  25. # debug => 1,
  26. );
  27.  
  28. for(my $i=1; $i <= $samplesize; $i++)
  29. {
  30. my $query = $res->search("as00.estara.com");
  31.  
  32. my $j = 1;
  33. foreach my $rr ($query->answer)
  34. {
  35. # Skip over anything but A records
  36. next unless $rr->type eq "A";
  37.  
  38. # Record the results
  39. # interested in how many returned & which DC
  40.  
  41. print "Sample $i: address:" . $rr->address . ", site:" . $sites{$rr->address} . "\n";
  42.  
  43. $results{$sites{$rr->address}}++;
  44. $results{'total_hits'}++;
  45. # $results{$sites{$rr->address}.'-pos-'.$j}++;
  46. }
  47.  
  48. # Reset the position counter
  49. $j = 1;
  50.  
  51. # cache-ttl is 20s, so wait until so that we get fresh data
  52. sleep 2;
  53. }
  54.  
  55.  
  56. print "\n\n#### WRR DNS Results\n";
  57. while (my ($site, $hits) = each(%results))
  58. {
  59. my $pcent = ($hits/$results{'total_hits'})*100;
  60. my $pcent2 = ($hits/$samplesize)*100;
  61. print "$site: $hits, $pcent2% (sample size), $pcent% (total RR)\n";
  62. }
  63.  
  64.  
  65. my $dsn = "DBI:mysql:database=local;host=localhost;";
  66. my $dbh = DBI->connect($dsn, 'root', '');
  67.  
  68. my $sth = $dbh->prepare("select content, prio from records where name='as00.estara.com'");
  69.  
  70. $sth->execute;
  71.  
  72. print "\n\nDesired priorities were:\n";
  73.  
  74. while (my $ref = $sth->fetchrow_hashref())
  75. {
  76. # Desired priorities were..
  77.  
  78. print $sites{$ref->{'content'}} .' '. $ref->{'prio'}."/10, " . (10-$ref->{'prio'})*10 ."% \n";
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement