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
| | |-+  Duda sobre manejo de strings en bash
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre manejo de strings en bash  (Leído 5,463 veces)
rastanthology

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Duda sobre manejo de strings en bash
« en: 24 Septiembre 2010, 04:22 am »

Buenas, estaba queriendo hacer un pequeño script que chequee si soy la unica persona conectada a la red para saber cuando puedo descargar sin molestar a nadie, pero al desconocer alguna funcion de manejo de strings no puedo hacerla, a ver si alguien me puede hechar una mano[

Código
  1. #!/bin/bash
  2. soloyo="false"
  3. hosts=0
  4. ipme=`ifconfig wlan0 | grep "addr:"`
  5. while [ soloyo="false" ]
  6. do
  7.        #en realidad quier hacer que nmap= mi ip pero con el ultimo valor = 0
  8.        #asi funciona en cualquier red
  9.        nmap=`nmap -sP 10.0.0.0/24 | grep Host`
  10.        sleep 30
  11.        for b in nmap
  12.        do
  13.                echo $nmap
  14.                #aca necesito cortar $b para solo quede una ip
  15.                        for x in $ipme
  16.                        do
  17.                                echo $x
  18.                                #aca quiero reconocer si $x es una ip y asignar esa ip a una variable z
  19.                        done
  20.                         if [ $b != $z ]
  21.                         then
  22.                                        hosts=$hosts + 1
  23.                                        echo $hosts
  24.                         fi
  25.                        if [ $hosts <= 2 ]
  26.                        then
  27.                                echo "Solo quedas vos y el router"
  28.                                soloyo="true"
  29.                        fi
  30.  
  31.        done
  32. # sleep 300 para que chequee cada 5 min
  33. done
  34.  

Bueno si alguien me puede hechar una mano para lograr alguna forma de acotar la ip con algun comando en alguna variable estaria agradecido. Sino si hay alguna forma de usar el comando grep mejor para que agarre solo las ips directamente tambien. Y tambien si hay alguna forma de que la terminal en la que se este ejecutando pase al frente para avivarme que el while termino sin estar mirando la terminal de ves en cuando estaria copado.

Saludos


« Última modificación: 25 Septiembre 2010, 19:59 pm por rastanthology » En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Duda sobre manejo de strings en bash
« Respuesta #1 en: 24 Septiembre 2010, 05:05 am »

usa las etiquetas geshi... estan por algo.


En línea

rastanthology

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: Duda sobre manejo de strings en bash
« Respuesta #2 en: 24 Septiembre 2010, 06:03 am »

ahi lo cambie si te es mas comodo, lo que si no puede hacer es [code type="bash"] se puede usar esta opcion?
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Duda sobre manejo de strings en bash
« Respuesta #3 en: 25 Septiembre 2010, 03:52 am »

ahi lo cambie si te es mas comodo, lo que si no puede hacer es [code type="bash"] se puede usar esta opcion?

[code=bash]
En línea

rastanthology

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: Duda sobre manejo de strings en bash
« Respuesta #4 en: 25 Septiembre 2010, 20:00 pm »

ahi lo cambie si te es mas comodo, lo que si no puede hacer es [code type="bash"] se puede usar esta opcion?

[code=bash]

Gracias, ahi quedo
En línea

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

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Duda sobre manejo de strings en bash
« Respuesta #5 en: 26 Septiembre 2010, 08:09 am »

¿cómo que acotar la ip?

¿cómo que grep agarre directamente?

Pon algunos ejemplos para entenderte mejor.
En línea

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

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: Duda sobre manejo de strings en bash
« Respuesta #6 en: 26 Septiembre 2010, 09:46 am »

mmm veo que no me exprese bien

yo lo que quiero hacer es a una variable x asignarle mi ip, a una variable z asignarle las ip que me devuelve el nmap y despues quiero sumar las ips totales del nmap pero que no cuente la mia.

con acotar un ip me refiero, a que como estoy tratando de asignarlo, en $x me queda como resultado addr:X.X.X.X, cuando lo que en realidad quiero que quede es solo X.X.X.X

despues tambien me interesaria hacer que quede X.X.X.0/24 ; sumarle el 0/24 al string no es el problema, sino sacarle una X

para z lo mismo, el nmap me devuelve Host ip is up, y quiero extraer de ahi la ip y darsela a una variable

con lo del grep queria decir si se podia usar una expresion regular como ([0-1][0-9][0-9]|2[0-9][0-9]) capaz de devolverme solo la ip sin la linea en que la contiene

En línea

rastanthology

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: Duda sobre manejo de strings en bash
« Respuesta #7 en: 28 Septiembre 2010, 00:00 am »

bueno ya lo solucione... encontre dos formas, usando el comando split, que todavia no la termine de entender, y otra usando un while leyendo de un texto, les dejo el codigo

lo corregi un toque que tenia un par de errores... ahora tambien funciona si cambias de red con distinto rango de ip

Código
  1. #!/bin/bash
  2. soloyo="false"
  3. hosts=0
  4. let pip=0
  5. let pip1=0
  6. let pip2=0
  7. let pip3=0
  8. function setip() {
  9. ipme=`ifconfig wlan0 | awk '/inet addr/ {split ($2,A,":"); print A[2]}' | tee ip.txt`
  10. getip
  11. }
  12. function getip() {
  13. while read a
  14. do
  15. echo "Mi ip: $ipme"
  16. arr=$(echo $a | tr "." "\n")
  17.        pip=0
  18. for x in $arr
  19. do
  20. if [ $pip -eq 0 ]
  21. then
  22. pip1=$x
  23. pip=1
  24. elif [ $pip -eq 1 ]
  25. then
  26. pip2=$x
  27. pip=2
  28. elif [ $pip -eq 2 ]
  29. then
  30. pip3=$x
  31. pip=3
  32. else
  33. ipmap=$(echo "$pip1.$pip2.$pip3.0/24")
  34. fi
  35. done
  36. done < ip.txt
  37. }
  38.  
  39. function gente() {
  40. while [ soloyo="false" ]
  41. do
  42.  
  43. setip
  44.        echo "Haciendo nmap -sP $ipmap"
  45. nmap=`nmap -sP $ipmap | grep Host | tee hosts.txt`
  46. while read f1 f2 f3 f4 f5 f6
  47. do
  48.  
  49. if [ $f2 != $ipme ]
  50.                         then
  51.                                      hosts=`expr $hosts + 1`
  52.                                      echo $hosts ": " $f2
  53. fi
  54.  
  55. done < hosts.txt
  56. if [ $hosts -eq 1 ]
  57. then
  58. echo "Solo quedas vos y el router"
  59. soloyo="true"
  60. gdialog --yesno "Solo quedas vos y el router"
  61. hosts=0
  62. solo
  63.  
  64. fi
  65. hosts=0
  66. sleep 250
  67. done
  68. }
  69. function solo() {
  70.  
  71. while [ soloyo="true" ]
  72. do
  73.  
  74. setip
  75.                echo "Haciendo nmap -sP $ipmap"
  76. nmap=`nmap -sP $ipmap | grep Host | tee hosts.txt`
  77. while read f1 f2 f3 f4 f5 f6
  78. do
  79.  
  80. if [ $f2 != $ipme ]
  81.                         then
  82.                                        hosts=`expr $hosts + 1`
  83.                                        echo $hosts ": " $f2
  84. fi
  85.  
  86. done < hosts.txt
  87. if [ $hosts -eq 1 ]
  88. then
  89. b=b #si no ponia nada aca no le gustaba al if...
  90. elif [ $hosts -eq 0 ]
  91. then
  92. b=b
  93. else
  94. echo "Se concetaron mas usuarios"
  95. soloyo="true"
  96. hosts=0
  97. gdialog --yesno "Se conectaron mas usuarios"
  98. gente
  99. fi
  100. hosts=0
  101. sleep 250
  102. done
  103.  
  104. }
  105. setip
  106. gente
  107.  
« Última modificación: 29 Septiembre 2010, 02:51 am por rastanthology » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre manejo de archivos
Programación C/C++
xogeid46 3 2,342 Último mensaje 19 Enero 2013, 05:48 am
por apuromafo CLS
Duda sobre programa en C con STRINGS
Programación C/C++
elWartix 7 2,740 Último mensaje 10 Marzo 2016, 09:31 am
por MAFUS
MANEJO DE STRINGS EN VB.NET
.NET (C#, VB.NET, ASP)
igustin10 2 2,631 Último mensaje 21 Diciembre 2016, 15:49 pm
por igustin10
Manejo de strings enormes y caracteres?
Programación C/C++
@XSStringManolo 6 3,051 Último mensaje 11 Junio 2019, 20:15 pm
por @XSStringManolo
Manejo de Strings
Programación General
_whiteBird 6 4,298 Último mensaje 26 Junio 2020, 02:37 am
por Tachikomaia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines