22

ファイルにリストされている複数のホストの ftp ポートをテストする UNIX シェル スクリプトがあります。

for i in `cat ftp-hosts.txt`
        do
        echo "QUIT" | telnet $i 21
done

通常、このスクリプトは機能しますが、接続しないホストに遭遇した場合、つまり telnet が「Trying...」になっている場合、次のホストをテストできるようにこの待機時間を短縮するにはどうすればよいですか?

4

5 に答える 5

35

nctelnet の代わりにnetcat ( ) を使用してみましたか? タイムアウトを設定できるなど、より柔軟性があります。

echo 'QUIT' | nc -w SECONDS YOUR_HOST PORT
# e.g.
echo "QUIT" | nc -w 5       localhost 21

この-w 5オプションは、5 秒後に接続をタイムアウトにします。

于 2009-07-14T21:05:04.677 に答える
1

nmap がある場合

 nmap -iL hostfile -p21  | awk '/Interesting/{ip=$NF}/ftp/&&/open/{print "ftp port opened for: "ip}'
于 2009-07-15T04:38:28.183 に答える