求助:IO:Socket error:Connection refused

求助:IO:Socket error:Connection refused



[Copy to clipboard] [ - ]
CODE:
以下程序运行后  发现出现socket错误

        IO:Socket  error:Connection refused
不知道Perl如何调试和判断错误的原因?

#!/usr/bin/perl
# use IO::Socket to scan directories for websites.
use strict;
use IO::Socket;
if (@ARGV=0)
        {
        print "Please input a website url\n";
        }
my $url=inet_ntoa(inet_aton($ARGV[0])) or die "Can't resolve host.\n";
open(URL,"webdir") or die "can't open that webdir file";
my @webdir=<URL>;

foreach my $dir (@webdir)
        {
        chop($dir);
        my $sendbuf = "GET $dir HTTP/1.1\n"."Host:$ARGV[0]\n\n\n";


        my $socket = IO::Socket::INET->new(PeerAddr => $url,
                                PeerPort => 80,
                                Proto => "tcp",
                                Type => SOCK_STREAM)
        or die "Can't connect to $ARGV[0]:$@\n";
        print $socket,$sendbuf;
        my $return=<$socket>;
        if($return=~/\b200\b/ or $return=~/\b401\b/)
        {
        print "Exist:$ARGV[0]$dir\n";
        close $socket;
        }
        close URL;
        print "\t ALL Done!Find it..Good Luck!";

        }

对方拒绝连线...
我知道是拒绝了
但是原因怎么查找,如何排错?
1. 到你的Server上执行 telnet 1.1.1.1 1234
看有没有连上..
如果一直出现Trying...
表示
1.对方有防火墙..packet被直接delete了...
2.routing可能有问题, traceroute可以看出来断在哪一个点..

connection refuse:
表示对方的Server
1.reject 你的connection, 可能对方有设定ACL, 例如hosts.allow,hosts.deny
2.对方的Server启动有问题..所以拒绝所有连线...

没什麽特别的..就是一些简单的网络连线的基本知识罢了...