diff --git a/iptables-show-recent.sh b/iptables-show-recent.sh index 2c5edec..b276b30 100755 --- a/iptables-show-recent.sh +++ b/iptables-show-recent.sh @@ -7,9 +7,13 @@ # - iptables with rules for the "recent" module # - Shell cmds: geoiplookup +top=30 + +echo "Top $top recent IP addresses:" +echo -e "Count\tIP\t\tCountry" for ip in $(cat /proc/net/xt_recent/DEFAULT | awk {'print $1'} | sed 's/src=//'); do IP=$(geoiplookup $ip | sed 's/GeoIP Country Edition:.*, //') if [[ "$IP" =~ "IP Address not found" ]]; then IP="n/a"; fi COUNT=$(cat /proc/net/xt_recent/DEFAULT | grep "$ip" | awk {'print $7'}) - echo -e "$COUNT\t$ip\t($IP)" -done | sort -rn + echo -e "$COUNT\t$ip\t$IP" +done | sort -rn | head -$top