如何通过在UNIX CLI中查看nginx access.log来获取独特IPv4和IPv6访问者的一些统计信息?
我使用access_log的标准combined预定义格式。
总结过去两天内唯一的IPv4和IPv6访问者数量:
grep "1[89]/Feb/" /var/www/logs/mdoc.su/mdoc.su.access.log | \ cut -d " " -f1 | sort | uniq | sed "s#.*\..*#.#g;s#.*:.*#:#g" | \ sort | uniq -c ; echo ipv4 and ipv6 unique hosts, summary ; date
要获得最近两天唯一访问者的唯一IPv4 / 24和IPv6 / 48子网的数量摘要:
grep "1[89]/Feb/" /var/www/logs/mdoc.su/mdoc.su.access.log | \ cut -d " " -f1 | sort | uniq | sed -E "s#^(([0-9a-f]+[.:]){3}).*#\1#g" | \ uniq | sed "s#.*\..*#.#g;s#.*:.*#:#g" | sort | uniq -c ; \ echo ipv4 and ipv6 unique IPv4/24 and IPv6/48 subnets, summary ; date
要查看过去两天内唯一访问者最常用的IPv4和IPv6子网,请执行以下操作:
grep "1[89]/Feb/" /var/www/logs/mdoc.su/mdoc.su.access.log | \ cut -d " " -f1 | sort | uniq | sed -E "s#^(([0-9a-f]+[.:]){3}).*#\1#g" | \ uniq -c | sort -rn | head -16 ; \ echo ipv4 and ipv6 unique IPv4/24 and IPv6/48 nets, most popular nets ; date