如何通过使用 UNIX CLI 查看 nginx access.log 来获取有关唯一 IPv4 和 IPv6 访问者的一些统计信息?
我使用标准combined
预定义格式access_log
。
答案1
要获取过去两天内唯一 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