Você percebe que está fazendo pelo menos dois whois
de solicitações (enviando muito mais pacotes e carregando um ou mais whois sever em algum lugar) para cada pacote que passa pela sua interface de rede?
Aqui, eu usaria tshark
supondo que o banco de dados de geolocalização de endereços IP esteja instalado e configurado corretamente:
tshark -lq -T fields -e ip.geoip.src_country -e ip.geoip.dst_country |
gawk -F '\t' -v clear="$(tput clear)" '
BEGIN{PROCINFO["sorted_in"] = "@ind_str_asc"}
{
count[$1 ? $1 : "Unknown"]++
count[$2 ? $2 : "Unknown"]++
printf "%s", clear
for (c in count)
printf "%5d %s\n", count[c], c
}'