#!/usr/bin/perl # Multi-RBL Query tool, developer Vikram use strict; use Socket; my $suspect = $ARGV[1]; die "Syntax: $0 -H \n" unless $suspect; my @rblservers=qw[ 3y.spam.mrs.kithrup.com block.blars.org bl.redhatgate.com blackholes.five-ten-sg.com blackholes.intersil.net blackholes.mail-abuse.org blackholes.wirehub.net blacklist.spambag.org dev.null.dk dews.qmail.org dialup.blacklist.jippg.org dialups.mail-abuse.org dnsbl.njabl.org dul.maps.vix.com dul.orca.bc.ca dynablock.wirehub.net formmail.relays.monkeys.com ipwhois.rfc-ignorant.org list.dsbl.org multihop.dsbl.org okrelays.nthelp.com pm0-no-more.compu.net proxies.relays.monkeys.com rbl-plus.mail-abuse.org rbl.maps.vix.com rbl.spam.org.tr relays.mail-abuse.org relays.nthelp.com relays.ordb.org relays.radparker.com relays.visi.com sbl.spamhaus.org spamguard.leadmon.net spammers.v6net.org spamsources.fabel.dk spews.org unconfirmed.dsbl.org xbl.selwerd.cx ]; my $spam = 0; foreach ( @rblservers ) { my @s = split('\.',$suspect); my $req = "$s[3].$s[2].$s[1].$s[0].".$_; my ($name,$aliases,$addrtype,$length,@addrs) = gethostbyname($req); next unless (@addrs); my $result = inet_ntoa($addrs[0]); #next unless (substr($result, 7) eq '127.0.0'); print "$suspect is listed in the following RBLS: " if ( $spam == 0 ); print $_, " "; $spam = 1; } print "$suspect is not listed in any RBLS" if ( $spam == 0 ); print "\n"; exit( $spam );