Ale*_*ysh 18 ubuntu http nginx
我看到一些奇怪的 HTTP 请求来到我的 nginx 服务器。
为了更好地了解发生了什么,我想转储此类查询的整个 HTTP 请求数据。(即,将所有请求标头和正文转储到我可以阅读的地方。)
我可以用 nginx 做到这一点吗?或者,是否有一些 HTTP 服务器允许我开箱即用,我可以通过 nginx 代理这些请求?
更新:请注意,此框有大量正常流量,我想避免在低级别(例如,使用tcpdump
)捕获所有流量并稍后将其过滤掉。
我认为首先在重写规则中过滤良好的流量会容易得多(幸运的是,在这种情况下我可以很容易地编写一个),然后只处理虚假流量。
而且我不想将虚假流量引导到另一个盒子,只是为了能够在那里使用tcpdump
.
更新 2:为了提供更多详细信息,虚假请求foo
在其 GET 查询中具有命名(例如)参数(参数的值可能不同)。好的请求保证永远不会有这个参数。
如果我可以通过它tcpdump
或ngrep
以某种方式过滤- 没问题,我会使用这些。
oo.*_*oo. 32
根据需要调整前/后行(-B 和 -A 参数)的数量:
tcpdump -n -S -s 0 -A 'tcp dst port 80' | grep -B3 -A10 "GET /url"
Run Code Online (Sandbox Code Playgroud)
这使您可以在框中获得所需的 HTTP 请求,而无需生成必须在其他地方卸载的巨大 PCAP 文件。
请记住,BPF 过滤器从来都不是精确的,如果有大量数据包流过任何一个盒子,BPF 可以并且将会丢弃数据包。
我不知道转储请求的确切含义,但您可以使用 tcpdump 和/或wireshark来分析数据:
# tcpdump port 80 -s 0 -w capture.cap
Run Code Online (Sandbox Code Playgroud)
并且您可以使用wireshark打开文件并查看服务器之间的对话。
归档时间: |
|
查看次数: |
29722 次 |
最近记录: |