转载自:http://www.linuxorz.com/show-15-1.html
Curl是一款用于在网络上传输数据的工具,支持HTTP, HTTPS, FTP, FTPS, TFTP, DICT,TELNET,LDAP等协议。通过curl你既可以将服务器的数据下载下来,也可以将本地的数据上传到服务器。curl的选项很多,大家可以参考curl manual。
最简单的用法,获取一个网站页面的源代码:
[root@linuxorz ~]# curl www.g.cn
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.cn/webhp?source=g_cn">here</A>.
</BODY></HTML>
[root@linuxorz ~]# curl www.google.cn
言归正传,下面将告诉大家如何使用-Is选项来获取网站的web服务器类型。
-I :获取网站的HTTP-header信息
-s :静默模式。不显示进度及错误信息
--connect-timeout :设置连接超时秒数
[root@linuxorz ~]# curl -Is www.163.com
HTTP/1.0 200 OK
Server: nginx
Date: Fri, 08 Jan 2010 14:40:23 GMT
Content-Type: text/html; charset=GBK
Vary: Accept-Encoding
Expires: Fri, 08 Jan 2010 14:41:43 GMT
Cache-Control: max-age=80
Vary: User-Agent
Vary: Accept
X-Cache: MISS from cache.163.com
Connection: close
首先创建一个site.txt文件,里面输入相应的网站。
[root@linuxorz ~]# head site.txt
www.google.com
www.baidu.com
youa.baidu.com
post.baidu.com
hi.baidu.com
www.sogou.com
www.youdao.com
www.soso.com
www.sohu.com
www.sina.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
分享到:
相关推荐
根据上述HTTP协议的作用原理,实现GET请求的Web服务器程序的方法如下: (1) 创建ServerSocket类对象,监听端口8080。这是为了区别于HTTP的标准TCP/IP端口80而取的; (2) 等待、接受客户机连接到端口8080,...
Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型示例代码
Apache 日志的配置 日志类型 错误日志 访问日志 传输日志 Cookie 日志 Web服务器日志分析全文共68页,当前为第4页。 日志内容 错误日志包含 获知失效链接 获知 CGI 错误 获知用户认证错误 访问日志包含 : 访问...
易语言套接字WEB服务器源码,套接字WEB服务器,ERecv,HTTP协议处理,取请求信息,返回文档类型,WSAStartup,socket,htons,inet_addr,bind,listen,accept,recv,WSACleanup,send,CreateThread,closesocket,lstrlen,...
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。 大多数 web 服务器都支持...
实现了GET请求的Web服务器程序的方法,通过创建ServerSocket类对象,监听端口8080; 等待、接受客户机连接到端口8080; 创建与socket字相关联的输入流和输出流 然后,读取客户机的请求信息,若请求类型是GET,则从...
这可能使得攻击者了解远程系统类型以便进行下一步的攻击。 解决方案 NSFOCUS建议您采取以下措施以降低威胁 打开网页,审查代码,我们发现这几个标头明显标明我们的服务器和平台信息,存在安全风险,必须要隐藏...
是Dart Web服务器,支持请求路由,过滤,模板引擎,WebSocket,MVC设计模式和基于文件的静态资源。 流是根据Apache 2.0许可证分发的。 安装 将此添加到您的pubspec.yaml (或创建它): dependencies: stream: ...
由于Web服务器为它的客户提供的数据类型是机密的。静态的Web目录页比大多数需要 更新的目录页所需CPU占用率更低。 所以在很多中小型企业中都对Web服务器有这种信息获取与共享资源的功能,而Web服 务器能很好地解决...
这可能使得攻击者了解远程系统类型以便进行下一步的攻击。 解决方案 NSFOCUS建议您采取以下措施以降低威胁 打开网页,审查代码,我们发现这几个标头明显标明我们的服务器和平台信息,存在安全风险,必须要隐藏...
XE7300/7305 IP统一消息服务器是杭州华三通信技术有限公司XE 7000 IP通讯融合解决方案中提供IP统一消息服务的组件。该系列服务器主要为企业用户提供电子邮件、语音邮件和传真邮件合一的IP统一消息解决方案。XE7300/...
19.修改编辑时删除推荐类型出现的乱码问题(对itemName参数添加了WebUtils.UrlEncode()方法) SpaceBuilder/Web/Themes/Channels/Default/Controls/RecommendItem.ascx 20.修改分享浏览数一直不变 SpaceBuilder/Web...
$.ajax()方法:jQuery提供了$.ajax()方法,用来通过Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)技术请求服务器,获取服务器的响应结果。 Ajax是结合服务器端才能实现,需要具备了服务器搭建、...
适用于Chrome的Web服务器用于Chrome的HTTP Web服务器(chrome.sockets) 在chrome网上商店中获取它: : 许多人发现网络商店版本可用于进行一些基本的Web开发,以替代python -m SimpleHTTPServer。 但是,它也可以...
15.8 安全的Web服务器 15.9 审计与日志记录 15.10 防火墙 15.11 备份数据 15.11.1 备份常规文件 15.11.2 备份与恢复MySQL数据库 15.12 自然环境安全 15.13 下一章 第16章 Web应用的安全 16.1处理安全性问题...
代理甚至可以通过将来自服务器的对象存储到本地来实现缓存,后续的请求可以直接从缓存中获取Web对象而不需要再次与远程服务器通信。 3) 3.1第一部分:实现顺序的Web代理程序 4) 第一步是实现一个处理HTTP/1.0 GET...
16.5.3 Web服务器配置 16.5.4 Web应用的商业主机服务 16.6 数据库服务器的安全性 16.6.1 用户和权限系统 16.6.2发送数据至服务器 16.6.3 连接服务器 16.6.4 运行服务器 16.7 保护网络 16.7.1 安装防火墙 16.7.2使用...
1.4 JavaWeb应用的Web服务器Tomcat 1.4.1 Web应用服务工作原理 1.4.2 web应用服务器汇总 1.4.3 获取Tomcat 1.4.4 熟悉Tomcat的五脏六腑 1.5 JavaWeb开发利器之Eclipse 1.5.1 获取Eciipse 1.5.2 运行Eclipse 1.5.3 ...
IIS是允许在Int ernet上发布信息的Web服务器。IIS通过使用超文本传输协议(HTTP)传输信息。还可配置 IIS 以提供文件传输 协议(FTP)服务。FTP服务允许用户从Web节点或到Web节点传送文件。 IIS的特点是配置简单,配置...
13.9 用显式接口方法实现来增强编译时类型安全性 13.10 谨慎使用显式接口方法实现 13.11 设计:基类还是接口? 第14章 字符、字符串和文本处理 14.1 字符 14.2 System.String类型 14.2.1 构造字符串 14.2.2 ...