2011-12-20 62 views
0

我想查看我的网站的请求标头,它在共享主机上托管,我打电话托管公司,但工程师不知道如何过滤特定站点的tcpdump。由于我的网站托管在共享主机上,因此tcpdump正在捕获所有请求,包括该服务器上的所有域。 而且他们没有任何其他程序,如tcpflow或wireshark安装,我不能看到这在近期发生。 是否有任何选项或参数可用于捕获仅针对特定网站的请求? 感谢 ShariquetcpDump在共享主机上获取请求标头

+0

为什么不在你的机器上本地安装Wireshark,然后请求服务器?应该与您在发送请求时在服务器上捕获相同的输出。或者我在这里错过了什么? – Fildor 2011-12-21 10:19:33

+0

在Web服务器前面有一个防火墙,这个防火墙在请求中添加额外的头部,并且我想看到这个额外的头部,我没有访问防火墙。和网络服务器共享主机,所以我不能安装任何额外的软件,Tcpdump正在捕获数据,但我只想为我的网站数据 – superzoom 2011-12-22 15:31:41

回答

0

这将是很难使用tcpdump的过滤流量,但它会更容易通过创建,访问时,显示它从客户端接收报头中的服务器上的页面来完成。 Tony Primerano's blog有几个例子 - 我个人会用他的PHP例子来做这个。只需在服务器上创建一个PHP页面并从Web浏览器访问URL。在浏览器窗口中,您将看到Web服务器收到的所有HTTP请求选项,包括您怀疑防火墙已添加的选项。

这里是托尼的代码片段:

<?php 
    foreach($_SERVER as $h=>$v) 
    if(ereg('HTTP_(.+)',$h,$hp)) 
     echo "<li>$h = $v</li>\n"; 
    header('Content-type: text/html'); 
    ?> 

这里是一个example of his output

  • HTTP_HOST = www.tonycode.com
  • HTTP_USER_AGENT = Mozilla的/ 5.0(Windows NT的6.1; WOW64 ; rv:8.0.1)Gecko/20100101 Firefox/8.0.1
  • HTTP_ACCEPT = text/html,application/xhtml + xml,application /xml;q=0.9,/; Q = 0.8
  • HTTP_ACCEPT_LANGUAGE = EN-US,连接; Q = 0.5
  • HTTP_ACCEPT_ENCODING = gzip的,放气
  • HTTP_ACCEPT_CHARSET = ISO-8859-1,utf-8的; q = 0.7,*; q = 0.7
  • HTTP_DNT = 1
  • HTTP_REFERER = [引荐这里URL]
  • HTTP_CONNECTION =紧密

我知道这不是你的问题,但希望这是一个很好的答案。

希望有帮助!

+0

谢谢亚伦,这不是我正在寻找,但它会解决我的问题,这是其他方式解决方案,非常有帮助,谢谢 – superzoom 2011-12-31 17:56:30