I am trying to write a script that tests how many concurrent FTP connections a 
particular device is capable (for load testing).... here is my beginnings. How would I 
simple print out total of FTP connections?

===begin===
#!/usr/bin/perl

$DOS_HOST="172.16.54.253";

use IO::Socket;

$pid = $$;
$num = 0;

while (1) {
    while (fork) {
        $sock = IO::Socket::INET->new(
            Proto    => "tcp",
            PeerAddr => $DOS_HOST,
            PeerPort => "ftp(21)",
        );

        if (!$sock) {
            print "connect failed!\n";
            waitpid -1,0;
        }


        while (<$sock>) {
            print;
            print $sock "USER admin\r\n" if (/^220 .*/);
            print $sock "PASS zep77who\r\n" if (/^331 .*/);
            print $sock "PASV\r\n" if (/^230 .*/);

            if (/^227 .*/) {
                $remote = $_;
                $remote =~ s/^.* [^\d,]*(\d[\d,]+)[^\d,]*$/$1/;
                @bits = split(/,/, $remote);
                if ($#bits eq 5) {
                    $remport = $bits[4] * 256 + $bits[5];
                    $#bits = 3;
                    $remip = join('.', @bits);
                    $foo[$num++] = IO::Socket::INET->new(
                            Proto => "tcp",
                            PeerAddr => $remip,
                            PeerPort => "($remport)");
                }
                print $sock "PASV\r\n";
            }
            last if (/^530 .*/);
        }
        waitpid -1,0;
    }
    sleep(5);
}
===== end =====

===
Mike Singleton 
Network Analyst
(253) 272-1916  x1259
(253) 405-1968 (cellular)
[EMAIL PROTECTED]

DaVita Inc.
_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to