search

Home  >  Q&A  >  body text

php - 如何判断一个网站用的Apache还是ngx?

如何判断一个网站用的Apache还是ngx?通过哪些配置文件可以判断?

PHP中文网PHP中文网2820 days ago1349

reply all(15)I'll reply

  • 阿神

    阿神2017-04-10 15:00:59

    response header里有一个server字段可以判断

    reply
    0
  • 高洛峰

    高洛峰2017-04-10 15:00:59

    你们答案简单粗暴,但是遇到某些情况是没什么用的,例如:

    lighttpd修改
    setenv.add-response-header = ( "Server" => "SSHTTPd",
    "X-Powered-By" => "SSPPP")

    你们找到header的也不过是
    Accept-Ranges:bytes
    Content-Length:325
    Content-Type:image/gif
    Date:Wed, 03 Sep 2014 04:03:17 GMT
    ETag:"692905520"
    Last-Modified:Mon, 28 Oct 2013 05:17:31 GMT
    Server:SSHTTPd
    X-Powered-By:SSPPP

    完全没什么用。

    所以,我说一种方案:

    XXX@A-PC:~$ nmap -sV XXX.XXX.XXX

    Starting Nmap 6.40 ( http://nmap.org ) at 2014-09-06 05:59 CST
    Nmap scan report for IP和域名隐藏了。。
    Host is up (0.0049s latency).
    Not shown: 999 filtered ports
    PORT STATE SERVICE VERSION
    80/tcp open http lighttpd

    这个就很准确了。(用的也是修改过header的lighttpd)

    当然如果他们铁下心要去修改源码来修改header,
    那你们就从了吧。

    reply
    0
  • 阿神

    阿神2017-04-10 15:00:59

    打开浏览器-F12-打开URL

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:00:59

    装个Wappalyzer,是个chrome的扩展,如果网站做了负载均衡的话,那就知道不了了

    reply
    0
  • 阿神

    阿神2017-04-10 15:00:59

    這個問題可以推廣到更普適的版本,那就是如何分辨任意網站背後的服務器程序。答案是沒有辦法。因爲服務器程序對用戶而言,做的是等價的工作,必然無法分辨。那麼狹隘一些,對於已知服務器程序類型,如何分辨?答案是,根據特性。

    常見的特性有哪些?自然就是非標準的行爲,比如自定義的 HTTP 頭,Server 的返回值等等。但這些都可以僞造,因爲服務器程序的本質行爲都一樣,特性改成什麼樣,不影響。

    所以,即便是對 Apache 和 ngx,普遍適用的判斷方法依舊不存在。

    怎麼辦?根據具體問題具體分析,先收集二者的細微差異,提出假設,設計實驗驗證或推翻,逐步推倒出可能性更大的一種選擇。相信只要內部實現不同,在外部總能找到差異。

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 15:00:59

    通过 HTTP Server 头是最简单的方法,不过这个头可以通过配置去掉。所以实际上没有精确的方法知道 web server 的类型。不过可以通过经验也就是统计方法。

    参见:http://www.zhihu.com/question/21621809

    reply
    0
  • PHPz

    PHPz2017-04-10 15:00:59

    chrome的话可以安装插件wappalyzer,网站使用的技术都可以显示出来

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:00:59

    人肉打听一下这个网站是谁运维的,然后想办法去问他

    reply
    0
  • 阿神

    阿神2017-04-10 15:00:59

    chrome f12,点network,找到那个网页的记录,看返回头中的Server

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:00:59

    我要是故意修改后,你能知道吗?

    reply
    0
  • Cancelreply