tcpDump在共享主机上获取Request标头

时间:2011-12-20 15:49:25

标签: shared-hosting tcpdump request-headers

我想查看我的网站的请求标头,它托管在共享主机上,我称之为托管公司,但工程师不知道如何过滤特定网站的tcpdump。因为我的站点托管在共享主机上,所以tcpdump正在捕获所有请求,包括该服务器上的所有域。 而且他们没有像tcpflow或wireshark安装这样的其他程序,我看不到这种情况在不久的将来会发生。 是否有任何选项或参数可用于捕获仅针对特定站点的请求? 谢谢 Sharique

1 个答案:

答案 0 :(得分:0)

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

这是Tony的代码片段:

 <?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 = zh-CN,en; q = 0.5
  •   
  • HTTP_ACCEPT_ENCODING = gzip,deflate
  •   
  • HTTP_ACCEPT_CHARSET = ISO-8859-1,utf-8; q = 0.7,*; q = 0.7
  •   
  • HTTP_DNT = 1
  •   
  • HTTP_REFERER = [此处为referer网址]
  •   
  • HTTP_CONNECTION = close
  •   

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

希望有所帮助!