在做http proxy的检测,判断proxy服务是不是正常,需要ping代理机器的上XXXXX端口。

由于机器的数目过多,需要批量化执行telnet的命令。 

脚本如下: 

 

PORT=XXXXX

count=0
for i in $(cat ip_list.dat)
do
((count++))
echo "count=$count"
# 关键代码,1s自动结束telnet
(sleep 1;) | telnet $i $PORT >> telnet_result.txt
done
# 根据结果判断出正常可以ping通的ip
cat telnet_result.txt | grep -B 1 \] | grep [0-9] | awk '{print $3}' | cut -d '.' -f 1,2,3,4 > telnet_alive.txt
# 差集,得到ping不同的ip
cat ip_list.dat telnet_alive.txt | sort | uniq -u > telnet_die.txt