Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: lubix89 en 8 Mayo 2013, 14:36 pm



Título: [BASH] Problemas con sintaxis
Publicado por: lubix89 en 8 Mayo 2013, 14:36 pm
Para no hacerlo tedioso intentare explicarme lo mas breve y claramente posible.

Código:
ps x | grep -v grep | grep -v xterm | grep -w aireplay-ng | awk '{print $11}' | grep -w -v -f /tmp/macs

Ese comando me esta sacando las macs que esta ejecutando el aireplay y que no estan en radio de alcance.

El archivo /tmp/macs es una lista de macs obtenidas de un escaneo "iwlist"

Para matar procesos en funcion del comando que usan hago un ps -x y hago un grep por mac para obtener los PID de los aireplay que se estan ejecutando.

Código:
kill $(ps x | grep 'DIRECCION MAC' | awk '{print $2}')
De esta manera me cargo los procesos que coincidan con las macs puestas en el grep.

Mi problema es que necesito hacer que el grep de este ultimo codigo obtenga las macs directamente del resultado del primer codigo.

Algo tal que asi:

Código:
kill $(ps x | grep 'ps x | grep -v grep | grep -v xterm | grep -w aireplay-ng | awk '{print $11}' | grep -w -v -f /tmp/macs' | awk '{print $2}')

Logicamente el comando de arriva me da error. Alguien me puede hechar un cable?

Saludos y gracias


Título: Re: [BASH] Problemas con sintaxis
Publicado por: -Myx- en 23 Mayo 2013, 04:17 am
Yo haria algo como esto:

Código:
 ps -C aireplay-ng u | fgrep -v -f /tmp/macs | awk '{print $1}' | xargs kill 

Tu comando esta dificil de fixear:

1)Para que tu codigo funcione creo que deberias cambiar las comillas simples por algun simbolo de command substitution "``" comilla invertida o "$()"

2) aun asi...le estas pasando varias macs a grep...y grep no funciona asi