netstat -plan|grep :<puerto> | awk {'print $5'} | cut -d: -f 1 | sort | uniq -c | sort -n
Ejemplo:
Conexiones a apache:
# netstat -plan|grep :80 | awk {'print $5'} | cut -d: -f 1 | sort | uniq -c | sort -n 1 XX.XX.XXX.XXX 1 XX.XX.XXX.XXX 1 XX.XX.XXX.XXX 51 XX.XX.XXX.XXX 64 XX.XX.XXX.XXX
Por explicar un poco el comando, NETSTAT muestra un listado de las conexiones activas del servidor, con GREP filtramos solo las conexiones al puerto 80, con AWK filtramos para que muestre solamente el contenido de la columna 5 (en este caso la IP) de la salida por pantalla, con CUT quitamos el «:», con SORT ordenamos, con UNIQ sacamos valores únicos, y con SORT ordenamos de nuevo por nº de conexiones.
Hola!
Lo primero felicitarte por tu blog. Una cosa … el sumatorio total que muestra al final del listado de IPs ¿que es? el ancho de banda que consumen el total de las conexiones listadas?
Saludos.
Héctor, es la cantidad de conexiones que hace cada IP. Para ver el consumo de conexión podrías usar tcptrack o iftop por ejemplo.