Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.38 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. $emailCache = '/home/.sites/28/site1/.users/115/autorbl/.email-cache';
  4. $mboxFolder = '/home/.sites/28/site1/.users/115/autorbl/mail/AutoRBL-Folder';
  5.  
  6. use Mail::MboxParser;
  7. use Data::Dumper;
  8. use Getopt::Long qw(GetOptions);
  9. use List::Flatten;
  10.  
  11. my $source_address;
  12. GetOptions('ip=s' => \$source_address) or die "Usage: $0 --ip <ip-address>\n";
  13. if (!$source_address) {
  14.     die "Usage: $0 --ip <ip-address>\n";
  15. }
  16.  
  17. if (!-d $emailCache) {
  18.     system("mkdir $emailCache");
  19. }
  20.  
  21. my $parseropts = {
  22.     enable_cache    => 1,
  23.     enable_grep     => 1,
  24.     cache_file_name => $emailCache,
  25. };
  26.  
  27. my $mb = Mail::MboxParser->new($mboxFolder, decode     => 'ALL', parseropts => $parseropts);
  28.  
  29. # slurping
  30. for my $msg ($mb->get_messages) {
  31.     for my $header ($msg->{HEADER}) {
  32.         my @head = $header;
  33.         my @cabeza = flat @head;
  34.         for my $line (@cabeza) {
  35.             if ($line =~ /$source_address/) {
  36.                 my @offender = flat $msg->{HEADER};
  37.                 my $out = "--------------------------------------------------------------------------------------\n";
  38.                 $out .= join("\n", @offender);
  39.                 $out .= "--------------------------------------------------------------------------------------\n";
  40.                 print $out;
  41.             }
  42.         }
  43.     }
  44. }
  45.  
  46. if (!$out) {
  47.     print "ERROR: Offending IP not found!\n";
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement