獲取網站Web服務器類型的辦法如下:
有些同學老問怎麼判斷Web服務器。如nmap nc nikto等好多可以的….要那麼多掃描器幹嘛 NMAP一個就夠了!方法N多,舉幾個例子吧!
nmap
pentest@yinyin:~$ nmap -sV -p 80 www.xxoo.com
Starting Nmap 5.00 ( http://nmap.org ) at 2010-05-24 19:49 CST
Interesting ports on 203.xxx.xxx.1×1:
PORT STATE SERVICE VERSION
80/tcp open http nginx web server 0.8.16
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.97 seconds
———————————————————————————————————-
nc
pentest@yinyin:~$ nc -vv www.xxoo.com 80
Connection to www.xxoo.info 80 port [tcp/www] succeeded!
get http /1.1
HTTP/1.1 400 Bad Request
Date: Mon, 24 May 2010 11:54:35 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=iso-8859-1……..省略
———————————————————————————————————-
Curl
lCurl是一款用於在網絡上傳輸數據的工具,支持HTTP, HTTPS, FTP, FTPS, TFTP, DICT,TELNET,LDAP等協議。通過curl你既可以將服務器的數據下載下來,也可以將本地的數據上傳到服務器。curl的選項很多,大家可以 參考curl 官方說明!
pentest@yinyin:~$ curl –head http://www.artist-tc.com/
HTTP/1.1 200 OK
Server: nginx/0.8.16
Date: Mon, 24 May 2010 12:00:55 GMT
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=20
Vary: Accept-Encoding
———————————————————————————————————-
提供個可批量掃描的批處理!胡亂寫的 將就下吧!
echo FOR /F ^%%a IN (1.txt) DO nmap -sV -PN -p 80 ^%%a -r > scan.bat
cmd.exe < scan.bat
del /q /f scan.bat
pause
把需要掃描的網址 IP IP段寫進1.txt就可以了!需要安裝nmap 不保存以及過濾結果 自行修改吧!
在來個curl掃描腳本!首先創建一個site.txt文件,裏面輸入相應的網站。
pentest@ubuntu:~$ head site.txt
g.cn
baidu.com
qq.com
www.xxoo.com
之後結合下面的curl.sh腳本,就可以獲知site.txt中網站的服務器類型了。
#!/bin/sh
IIS=0
nginx=0
apache=0
other=0
if [ ! -f site.txt ]; then
echo “ERROR:site.txt NOT exists!”
exit 1
fi
total=`wc -l site.txt|awk ‘{print $1}’`
for website in `cat site.txt`
do
server=`curl -Is –connect-timeout 15 $website|awk -F”:” ‘/^Server:/{print $2}’`
echo -e $website”:” $server
if echo $server|grep -i “IIS”>/dev/null
then IIS=`expr $IIS + 1`
elif echo $server|grep -i “Apache”>/dev/null
then Apache=`expr $Apache + 1`
elif echo $server|grep -i “nginx”>/dev/null
then nginx=`expr $nginx + 1`
else other=`expr $other + 1`
fi
done
echo “——————————————–”
echo -e “Total\tApache\tIIS\tnginx\tother”
echo -e “$total\t$Apache\t$IIS\t$nginx\t$other”
echo -e “100%\t”`echo “scale=5;$Apache/$total*100″|bc|cut -c1-5`”%\t”`echo “scale=5;$IIS/$total*100″|bc|cut -c1-5`”%\t”`echo “scale=5;$nginx/$total*100″|bc|cut -c1-5`”%\t”`echo “scale=5;$other/$total*100″|bc|cut -c1-5`”%\t”
echo “——————————————–”
exit 0
輸出結果:
pentest@ubuntu:~$ ./curl.sh
-e g.cn: gws
-e baidu.com: Apache
-e qq.com: nginx/0.6.39
-e www.artist-tc.com: nginx/0.8.16
——————————————–
-e Total Apache IIS nginx other
-e 4 1 0 2 1
-e 100% 25.00% 0% 50.00% 25.00%
——————————————–
Web服務器類型是怎麼獲取的?我想大家已經可以解答這個問題了吧。