track ip addresses, phone numbers, etc

Parsing Web Server Logs

Published on 02 January 2017

This is assuming your webserver log is access.log.

Extract unique IP addresses from the webserver log:

cat access.log | awk '{print $1}' | uniq

Count number of unique IP addresses from log:

cat access.log | awk '{print $1}' | uniq | wc -l

List the IP addresses of users using iPhones:

cat access.log | grep -i iphone | awk '{print $1}' | uniq | sort

Count number of IP addresses of visitors who have a 444 error:

grep '444 0' access.log | awk '{print $1}' | sort -n | uniq -c | sort -n

List and sort user-agent strings uniquely:

awk -F"\"" '{print $6}' access.log | sort | uniq -dc | sort -nr

List top 25 IP addresses that have accessed my website:

awk '{print $1}' access.log | sort -n | uniq -c | sort -n | tail -25

Last Update: 02 January 2017 [Created on 01 June 2009]

Affiliate Disclosure: Some of the links to products on this blog are affiliate links. It simply means, at no additional cost to you, we’ll earn a commission if you click through and buy any product.