>>4218 seki 横からすみません. ftpのポート21でconnectできるかチェックするPerlスクリプトを 書いてみました.試していただけますか? use Socket; $SIG{'ALRM'} = sub { close(SOCK); $sTimeout='(timeout)'; }; # ConnectTest(IPアドレス,ポート,タイムアウト秒数) if (!&ConnectTest('192.168.x.x',21,5)){ print "cannot make a ftp connection.\n"; exit; } # 正常ならばftpコマンドを実行 system ('ftp hogehoge'); exit; sub ConnectTest { local($sIP,$nPort,$nTimeout)=@_; local($iaddr,$paddr,$flag,$protoTCP,$sTimeout); $iaddr = inet_aton($sIP) || die "no host: $sIP"; $protoTCP = getprotobyname('tcp'); $paddr = sockaddr_in($nPort, $iaddr); $flag=socket(SOCK, PF_INET, SOCK_STREAM, $protoTCP); if (!$flag){ goto J1_1; } $flag=0;$sTimeout=''; eval { alarm($nTimeout); $flag=connect(SOCK, $paddr); alarm(0); }; if (!$flag){ goto J1_1; } if ($sTimeout){ goto J1_1; } close (SOCK); return 1; J1_1: close (SOCK); return 0; } |