rblcheck-dns 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/usr/bin/perl
  2. # Multi-RBL Query tool, developer Vikram <vr@udel.edu>
  3. use strict;
  4. use Socket;
  5. my $suspect = $ARGV[1];
  6. die "Syntax: $0 -H <ip address>\n" unless $suspect;
  7. my @rblservers=qw[
  8. 3y.spam.mrs.kithrup.com
  9. block.blars.org
  10. bl.redhatgate.com
  11. blackholes.five-ten-sg.com
  12. blackholes.intersil.net
  13. blackholes.mail-abuse.org
  14. blackholes.wirehub.net
  15. blacklist.spambag.org
  16. dev.null.dk
  17. dews.qmail.org
  18. dialup.blacklist.jippg.org
  19. dialups.mail-abuse.org
  20. dnsbl.njabl.org
  21. dul.maps.vix.com
  22. dul.orca.bc.ca
  23. dynablock.wirehub.net
  24. formmail.relays.monkeys.com
  25. ipwhois.rfc-ignorant.org
  26. list.dsbl.org
  27. multihop.dsbl.org
  28. okrelays.nthelp.com
  29. pm0-no-more.compu.net
  30. proxies.relays.monkeys.com
  31. rbl-plus.mail-abuse.org
  32. rbl.maps.vix.com
  33. rbl.spam.org.tr
  34. relays.mail-abuse.org
  35. relays.nthelp.com
  36. relays.ordb.org
  37. relays.radparker.com
  38. relays.visi.com
  39. sbl.spamhaus.org
  40. spamguard.leadmon.net
  41. spammers.v6net.org
  42. spamsources.fabel.dk
  43. spews.org
  44. unconfirmed.dsbl.org
  45. xbl.selwerd.cx
  46. ];
  47. my $spam = 0;
  48. foreach ( @rblservers ) {
  49. my @s = split('\.',$suspect);
  50. my $req = "$s[3].$s[2].$s[1].$s[0].".$_;
  51. my ($name,$aliases,$addrtype,$length,@addrs) = gethostbyname($req);
  52. next unless (@addrs);
  53. my $result = inet_ntoa($addrs[0]);
  54. #next unless (substr($result, 7) eq '127.0.0');
  55. print "$suspect is listed in the following RBLS: " if ( $spam == 0 );
  56. print $_, " ";
  57. $spam = 1;
  58. }
  59. print "$suspect is not listed in any RBLS" if ( $spam == 0 );
  60. print "\n";
  61. exit( $spam );