Infelizmente o awk não captura seus grupos. Você pode querer procurar uma ferramenta mais moderna para escrever frases de efeito, como Perl.
Dito isto, a maneira mais rápida de fazer isso no seu caso depende se o SRC = está sempre no mesmo lugar nos logs.
Se ele estiver sempre no mesmo lugar e os argumentos sempre contiverem o mesmo número de sinais de igual, você pode dividir suas linhas em iguais e espaço e usar o 15º campo:
awk -F'[= ]' '{print $15}'
Caso contrário, para uma abordagem mais robusta, você pode substituir a parte que leva a SRC = e a parte seguinte:
awk '{sub(/.* SRC=/, ""); sub(/ .*/, ""); print;}'
Se você precisar contar as ocorrências, adicione um idiomático | sort | uniq -c | sort -rn
ao pipeline, mas isso é ineficiente com 100.000 linhas. É melhor usar o tipo de dicionário interno do awk nas duas primeiras etapas:
awk '{sub(/.* SRC=/, ""); sub(/ .*/, ""); ips[$0]++;}
END {for (ip in ips) printf("%8d %s\n", ips[ip], ip);}' | sort -nr
A saída de um dos dois deve ficar assim:
7513 192.168.1.28
330 192.168.1.30
103 192.168.1.31
19 192.168.1.32