summaryrefslogtreecommitdiffstats
path: root/contrib/rblcheck-web
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/rblcheck-web')
-rwxr-xr-xcontrib/rblcheck-web37
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/rblcheck-web b/contrib/rblcheck-web
new file mode 100755
index 00000000..eb4fcdec
--- /dev/null
+++ b/contrib/rblcheck-web
@@ -0,0 +1,37 @@
1#!/usr/bin/perl
2# Multi-RBL Query tool, developer Vikram <vr@udel.edu>
3use IO::Socket::INET;
4
5die "Syntax: $0 -H <ip address>\n" unless $ARGV[1];
6
7$soc = new IO::Socket::INET->new(PeerPort=>80,
8Proto=>'tcp',
9PeerAddr=>"rbls.org") or die("Cannot connect to CERT");
10
11$ip = $ARGV[1];
12$uri = '/?q='.$ip;
13
14$soc->send("GET $uri HTTP/1.1\nHost: rbls.org\n\n");
15@buff = <$soc>;
16delete @buff[0..7];
17$len = @buff;
18
19$alert = 0;
20
21
22for( $i=0;$i<$len;$i++ ) {
23 next unless( defined $buff[$i] );
24 chomp($buff[$i]);
25 #print "$buff[$i]\n";
26
27 if ( $buff[$i] eq "<tr bgcolor=#ffc0c0>" ) {
28 $rbl = substr($buff[$i+1], 5, index($buff[$i], "</tr>") - 5);
29 next if ( index($rbl, '.') == -1 );
30 print "$ip is listed in the following RBLS: " if ( $alert == 0 );
31 print "$rbl ";
32 $alert = 1;
33 }
34}
35print "$ip is not listed in any RBLS" if ( $alert == 0 );
36print "\n";
37exit($alert);