Diego Quintana Cruz <diegoquintana@gmail.com> wrote:
Hola a todos,
Necesito hacer un script que vaya mirando el /var/log/auth.log e ir
viendo las IPs que continuamente quieren ingresar sin exito y luego
bloquearlas. Sin embargo, cuando hago un grep, me sale toda la linea,
y no puedo coger solo el IP
Por ejemplo si veo muchas peticiones como esta:
Dec 16 11:30:22 gst sshd[2582]: Illegal user rpc from ::ffff:202.99.27.90
Debo bloquear al IP 202.99.27.90.
Muchos intentos como este generan un monton de ancho de banda que no
quiero desperdiciar. Alguna idea de por donde empezar?
Saludos,
Diego Quintana a.k.a. RouterMaN
Estudiante Ing de las Telecomunicaciones
PUCP
Linux Registered User #382615 -
http://counter.li.org/
http://routerman.blogsome.com
http://planeta.debianperu.org
Lo que buscas esta detras del último ":" por lo que un sed te lo puede proveer
.... grep ...| sed -e "s/.*://
borra cualquier cosa repetida cero o mas veces hasta encontrar un ":"
con sed podrÃas también borrar todas las lÃneas que no tengan
"sshd[2582]: Illegal user rpc from" y con eso evitas el grep
otra cosa que puedes hacer es obtener el campo 6 considerando el : como separador usando
....|cut -d: -f6
Ojo, no los he probado por lo que pudieran tener errores menores
man cut ; man sed