如何从模糊的 nginx 请求中提取更多数据?

如何从模糊的 nginx 请求中提取更多数据?

在过去的几个小时里,我的生产服务器每秒收到大约 6000 个未知请求,而 nginx 访问日志没有提供有关这些请求的足够数据。我从未在访问日志中看到过这样的请求,也不知道如何找到有关这些请求的更多信息。以下是这些请求的一个示例。

5.112.127.138 - - [14/Jun/2018:14:20:48 +0430] "o\xEB\x04Ke\xBA\xF6\x10\xCD\xB4\xAE\x17^\x9B\xFCgLp\xD0L\xBF\xDA\xE8\xE7K\x8C}\x8B\xEFM\xE4\xAF3>\xBDp\xDCy\x90\xCD\x1C\x16a\xEFn\xC6T\xE6\xB1\xF8\x10\x07umn\xA3" 400 173 "-" "-"
5.235.234.134 - - [14/Jun/2018:14:20:48 +0430] "\xA6\xCA#\x89\xFF1\xAE" 400 173 "-" "-"

我检查了结果谁是其中很多 IP 都是来自我国常见的 ISP 的 IP。具体来说,如果我能找出这些请求的目标地址,那将非常有用。

答案1

您的访问日志显示默认日志格式。请参阅这个文件了解详情。

您可以使用配置块中的log_formatand/oraccess_log指令来定制日志格式()。httpnginxnginx.conf

例如,要添加Host请求标头($http_host`)的值,您可以使用:

log_format enhanced
    '$remote_addr - $remote_user [$time_local] '
    '$http_host "$request" $status $body_bytes_sent '
    '"$http_referer" "$http_user_agent"';

access_log  /path/to/logfiles/enhanced.log enhanced;

相关内容