Estoy usando este comando simple para monitorear conexiones (para lidiar con algunos ataques DoS recientes) en mi servidor Debian:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
¿Cómo lo ejecuto continuamente? Por lo tanto, se actualizará una vez por minuto (o cualquier cantidad de tiempo, por supuesto). Intenté mirar:
watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n"
Pero cambió la salida de una buena lista con un número de conexiones a algo como esto:
1 tcp 0 10015 [LOCAL IP]
...
1 Proto Recv-Q Send-Q Local Address Foreign Address State
1 Active Internet connections (w/o servers)
Por lo tanto, no se muestra la IP externa. ¿Hay algo que me perdí?
Así es como se ve la salida original:
2 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
4 [IP ADDRESS]
7 [IP ADDRESS]
16 [IP ADDRESS]
71 [IP ADDRESS]
Y cuando digo [LOCAL IP]
me refiero a la IP de mi máquina.
Cuando lo ejecuto -c
simplemente se congela.
Respuestas:
puede ayudarte si no he entendido mal tu problema. -c significa - continuo.
EDITAR: ahí vas:
He agregado un \ before $.
fuente
Simplemente ejecuta un ciclo while que duerme durante 60 segundos
Esto le dará la misma salida cada 60 segundos.
fuente