在Ubuntu中,有什么我可以运行,检查HTTP请求进来?

我正在运行Node.js. 但由于某种原因,请求不被服务器捕获。 ( https://stackoverflow.com/questions/9247482/node-js-server-not-receiving-ajax-requests )

有没有办法检查是否有HTTP请求进来? 理想情况下,我想运行一些将“监听”HTTP请求的东西,然后打印它们,以及该请求的URl(如果可能的话)

标准工具只是安装并运行tcpdump 。

像这样的捕获filter。 tcpdump -qn -s 0 -A port 80将捕获并打印在该系统上目的地为端口80的每个分组。 看手册页,tcpdump是非常灵活的。

我喜欢Zoredache的tcpdump的答案,因为它确实是一个标准的工具,你也可以尝试ngrep

首先你安装它:

 apt-get install ngrep 

然后,您可以使用它来过滤networkingstream,查找某些关键字,如GET

 ngrep -W byline 'GET' 'port 80' 
  • -W byline在这里使它看起来更漂亮
  • GET是我们正在寻找的关键字
  • port 80可以replace为bpfexpression式(例如tcpdump使用的)