Áö½ÄÀº Çϴ÷Πºñ»óÇÏ´Â ³¯°³¿Í °°´Ù

Àüü |  ¸®´ª½º (139)   À©µµ¿ì (34)   ÇØÅ·/º¸¾È (81)   PHP (12)   PERL (82)   ½© (24)   ±â Ÿ (28)   IT839 (14)   ¿À¶óŬ (8)   ¾ÆÆÄÄ¡ (49) 

 hakkoo ( 2005-08-04 10:07:53, Hit : 2729
 ¸ÞÀÏ ¸±·¹ÀÌ Á¡°Ë

½ºÆÔ¸ÞÀÏÀÌ ¹ß¼ÛµÇ¸é ¹ß¤µ¤Ç¤§µÈ ip »Ó¸¸ ¾Æ´Ï¶ó ½ÉÁö¾î´Â ¼ÓÇØÀÖ´Â ip ´ë¿ª±îÁö Àüü°¡ Â÷´ÜµÇ¾î ¼±ÀÇÀÇ ÇÇÇØ°¡ À¯¹ßµÉ ¼ö  ÀÖÀ¸¸ç, ÀÏ´Ü spamhaus.org ¿Í °°Àº Black list ¿¡ µî·ÏµÇ¸é ÇØÁ¦ÇϱⰡ ½±Áö ¾Ê´Ù.
ÀÌ¿¡ ´ëÇÇÇϱâ À§ÇØ Á¤±âÀûÀ¸·Î ¸ÞÀÏ ¼­¹ö¿¡ ¸±·¹À̰¡ Çã¿ëµÇ¾î ÀÖÁö´Â ¾ÊÀºÁö Á¡°ËÇÏ¿©¾ß ÇÑ´Ù. ¾Æ·¡ ½ºÅ©¸³Æ®·Î Ã¼Å©ÇØ º¸¸é ¸±·¹ÀÌ ¿©ºÎ¸¦ ÇѲ¨¹ø¿¡ üũÇÒ¼ö ÀÖ´Ù.

#!/usr/bin/perl

use Socket;
use Net::SMTP;


my $MAXPIDS=250;

my $TESTFROM="YOUR\@EMAIL.HERE";
my $TESTTO="OTHER\@EMAIL.ADDRESS";

my $HELP=q
{Usage: perl relaycheck.pl [-h | --help] host
};

my @hosts;

for $_ (@ARGV){
    if(/^--(.*)/){
        $_=$1;
        if(/help/){
            print $HELP;
            exit(0);
        }
    }
    elsif(/^-(.*)/){
        $_=$1;
        if(/^h/ or /^?/){
            print $HELP;
            exit(0);
        }
    }else{
        push @hosts,$_;
    }
}

if(!$hosts[0]){
    print $HELP;
    exit(-1);
}

my $host;

print "relaycheck v0.3 by dave weekly <dew\@cs.stanford.edu>\n\n";

# bury dead children
$SIG{CHLD}= sub{wait()};

# go through all of the hosts, replacing subnets with all contained IPs.
for $host (@hosts){
    $_=shift(@hosts);

    # scan a class C
    if(/^([^.]+)\.([^.]+)\.([^.]+)$/){
        my $i;
        print "Expanding class C $_\n";
        for($i=1;$i<255;$i++){
            my $thost="$_.$i";
            push @hosts,$thost;
        }
    }
    else{
        push @hosts,$_;
    }
}

my @pids;
my $npids=0;

for $host (@hosts){
    my $pid;
    $pid=fork();
    if($pid>0){
        $npids++;
        if($npids>$MAXPIDS){
            for(1..($MAXPIDS/2)){
                if(wait()>0){
                    $npids--;
                }
            }
        }
        next;
    }elsif($pid==-1){
        print "fork error\n";
        exit(0);
    }else{
        $ARGV0="(checking $host)";
        my($proto,$port,$sin,$ip);
        $proto=getprotobyname('tcp');
        $port=25;
        $ip=inet_aton($host);
        if(!$ip){
            print "couldn't find host $host\n";
            exit(0);
        }
        $sin=sockaddr_in($port,$ip);
        socket(Sock, PF_INET, SOCK_STREAM, $proto);
        if(!connect(Sock,$sin)){
#            print "couldn't connect to SMTP port on $host\n";
            exit(0);
        }
        close(Sock);

        # SOMETHING is listening on the mail port...
        
        my $smtp = Net::SMTP->new($host, Timeout => 30);
        if(!$smtp){
#            print "$host doesn't have an SMTP port open.\n";
            exit(0);
        }
        my $domain = $smtp->domain();
#        print "host $host identifies as $domain.\n";
        $smtp->mail($TESTFROM);
        if($smtp->to($TESTTO)){
            print "SMTP host $host [$domain] relays.\n";
        }else{
            print "SMTP host $host [$domain] does not relay.\n";
        }
        $smtp->reset();
        $smtp->quit();
        exit(0);
    }
}

print "done spawning, $npids children remain\n";
# wait for my children
$|=1;
for(1..$npids){
    my $wt=wait();
    if($wt==-1){
        print "hey $!\n";
        redo;
    }else{
#        print "$wt\n";
    }
}

print "Done\n";




    








82   [PERL] Deprecated: Function eregi() is deprecated ¿¡·¯ ¼öÁ¤ ½ºÅ©¸³Æ®  hakkoo 2010/08/04 290
81   [PERL] Perl script to monitor disk space and send an email [2]  hakkoo 2008/01/16 2232
80   [PERL] Perl DBI ¸ðµâ ¿¹Á¦ [1]  hakkoo 2006/03/15 3104
79   [PERL] qmail-remote ÀÎÅͼÁÆ® (¹ß¼Û·Î±× ¸¸µé±â)  hakkoo 2005/10/03 2882
78   [PERL] ¿ø°Ý ¸ð´ÏÅ͸µ [12]  hakkoo 2005/08/25 2998
  [PERL] ¸ÞÀÏ ¸±·¹ÀÌ Á¡°Ë  hakkoo 2005/08/04 2729
76   [PERL] Using Regular Expression  hakkoo 2005/02/05 2643
75  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] B/D¿¡ arp ÆÐŶÀ» º¸³» mac Á¤º¸ °»½Å  hakkoo 2004/11/24 22
74   [PERL] SYN_Flooding °ø°ÝÀ» °¨Áö  hakkoo 2004/10/22 2649
73  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] ip_alive.pl  hakkoo 2004/10/13 20
72  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] technote_patch.pl  hakkoo 2004/10/09 18
71  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] technote_id_search.pl  hakkoo 2004/10/07 8
70  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] vuserinfo.pl  hakkoo 2004/08/24 24
69   [PERL] ¡Ù CPAN module·Î ÀνºÅç ¹Ù·ÎÇÏ±â  hakkoo 2004/07/29 2654
68   [PERL] Net::Telnet ¸ðµâ  hakkoo 2004/07/09 2557
67   [PERL] ¿©·¯°³ÀÇ ¹è¿­À̳ª ÇØ½¬ ¹ÝȯÇϱâ(¼­ºê·çƾ) [18]  hakkoo 2004/06/15 3360
66   [PERL] CGI ȯ°æ º¯¼ö  hakkoo 2004/06/15 2716
65   [PERL] ¼­ºê·çƾ ÀÛ¼º ¹× È£Ãâ¹ý  hakkoo 2004/06/15 2513
64   [PERL] ¡Ú ÆÄÀÏ ÀÔÃâ·Â ¹× °ü¸®  hakkoo 2004/06/15 2711
63   [PERL] HTML ¹®Àå Ãâ·ÂÇÏ±â  hakkoo 2004/06/14 2458

1 [2][3][4][5]
 

Copyright 1999-2010 / skin by sattonari