ファイルにリストされている複数のホストの ftp ポートをテストする UNIX シェル スクリプトがあります。
for i in `cat ftp-hosts.txt`
do
echo "QUIT" | telnet $i 21
done
通常、このスクリプトは機能しますが、接続しないホストに遭遇した場合、つまり telnet が「Trying...」になっている場合、次のホストをテストできるようにこの待機時間を短縮するにはどうすればよいですか?
ファイルにリストされている複数のホストの ftp ポートをテストする UNIX シェル スクリプトがあります。
for i in `cat ftp-hosts.txt`
do
echo "QUIT" | telnet $i 21
done
通常、このスクリプトは機能しますが、接続しないホストに遭遇した場合、つまり telnet が「Trying...」になっている場合、次のホストをテストできるようにこの待機時間を短縮するにはどうすればよいですか?
nc
telnet の代わりにnetcat ( ) を使用してみましたか? タイムアウトを設定できるなど、より柔軟性があります。
echo 'QUIT' | nc -w SECONDS YOUR_HOST PORT
# e.g.
echo "QUIT" | nc -w 5 localhost 21
この-w 5
オプションは、5 秒後に接続をタイムアウトにします。
nmap がある場合
nmap -iL hostfile -p21 | awk '/Interesting/{ip=$NF}/ftp/&&/open/{print "ftp port opened for: "ip}'