首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在没有访问命令行的情况下找到正在运行的Apache版本?

如何在没有访问命令行的情况下找到正在运行的Apache版本?
EN

Stack Overflow用户
提问于 2008-10-03 12:38:31
回答 9查看 256.1K关注 0票数 77

我需要找到一个文件,其中的版本是编码的,或者是一种在网络上轮询它的方式,这样它就可以显示它的版本。虽然我可以通过FTP浏览安装位置,但服务器运行在不向我提供命令行访问的主机上。

我试过HEAD,但没有得到报告的版本号。

如果我尝试一个缺失的页面来获取404,它会被拦截,并返回一个没有服务器信息的库存页面。我猜这表明服务器正在变得更加坚固。

仍然没有更近..。

我按照建议上传了一个PHP文件,但我无法浏览到它,也找不到加载它的URL路径。在任何情况下,我得到了大量的访问被拒绝的消息和相同的股票404页面。我知道服务器受到了很好的保护,这让我感到些许安慰。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2008-10-03 12:40:32

该方法

连接到主机上的端口80并将其发送

代码语言:javascript
复制
HEAD / HTTP/1.0

后面需要两次回车符+换行符

你会得到像这样的东西

代码语言:javascript
复制
HTTP/1.1 200 OK
Date: Fri, 03 Oct 2008 12:39:43 GMT
Server: Apache/2.2.9 (Ubuntu) DAV/2 SVN/1.5.0 PHP/5.2.6-1ubuntu4 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.10.0
Last-Modified: Thu, 02 Aug 2007 20:50:09 GMT
ETag: "438118-197-436bd96872240"
Accept-Ranges: bytes
Content-Length: 407
Connection: close
Content-Type: text/html; charset=UTF-8

然后,您可以从Server:头文件中提取apache版本

您可以使用的典型工具

您可以使用HEAD实用程序,它随完整安装的Perl的LWP库一起提供,例如

代码语言:javascript
复制
HEAD http://your.webserver.com/

或者,使用curl实用程序,例如

代码语言:javascript
复制
 curl --head http://your.webserver.com/

您还可以使用浏览器扩展来查看服务器标头,例如用于Firefox的Live HTTP HeadersFirebug,或用于IE的Fiddler

坚持使用Windows?

终于来了。如果您使用的是Windows,并且没有其他命令可用,请打开命令提示符(开始菜单->运行,键入"cmd“并按return键),然后键入以下内容

代码语言:javascript
复制
telnet your.webserver.com 80

然后输入(小心,你的字符不会被回显)

代码语言:javascript
复制
HEAD / HTTP/1.0

按两次return键,您将看到服务器标头。

其他方法

正如cfeduke和Veynom所提到的,可以将服务器设置为在Server:头中返回有限的信息。尝试将包含以下内容的PHP脚本上传到主机

代码语言:javascript
复制
<?php phpinfo() ?>

使用web浏览器请求该页面,您应该会看到那里报告的Apache版本。

您还可以尝试使用PHPShell来进行查看,尝试使用如下命令

代码语言:javascript
复制
/usr/sbin/apache2 -V
票数 132
EN

Stack Overflow用户

发布于 2012-08-24 21:32:09

httpd -v将为您提供在您的服务器上运行的Apache版本(如果您具有SSH/shell访问权限)。

输出应如下所示:

代码语言:javascript
复制
Server version: Apache/2.2.3
Server built:   Oct 20 2011 17:00:12

正如所建议的,您也可以使用apachectl -v,它会给出相同的输出,但会得到更多版本的Linux的支持。

票数 44
EN

Stack Overflow用户

发布于 2008-10-03 12:48:54

强化的HTTP服务器很少配置为不提供服务器信息或误导性的服务器信息。在这些场景中,如果服务器启用了PHP,您可以添加:

代码语言:javascript
复制
<?php phpinfo(); ?>

在一个文件中,浏览到该文件并查找

代码语言:javascript
复制
_SERVER["SERVER_SOFTWARE"]

进入。这同样容易受到缺乏信息/误导的影响,尽管我认为它不会经常更改,因为这种方法首先需要访问机器才能创建PHP文件。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/166607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档