miércoles, 6 de mayo de 2009
Ascii
echo -e "\0#"
Donde # es el numero ascii que necesitas imprimir. De esta forma lo puedes usar en tus scripts.
lunes, 22 de diciembre de 2008
Intrusos en mi red?
Los sniffer son herramientas muy útiles, a pesar de ser nuestras enemigas, si sabemos usarlas podemos colocar esas herramientas de nuestro lado. Un sniffer puede detectar nuestra red oculta, pero también con los sniffer podemos detectar los que usan nuestra red así como también los que intentan acceder a la misma.
Teóricamente un sniffer escucha las tramas de la red, puede captar paquetes y actividades de la red en escucha. Los sniffer son tanto peligrosos como muy útiles dependiendo del uso que se les de, ya que con los mismos se pueden captar datos privados y hasta contraseñas privadas de uso personal.
Si nuestra red la tenemos oculta con los sniffer se pueden descubrir dicha red, pero con los mismos podemos defendernos de dichos intrusos.
Entre los sniffers mas populares estan el ethereal y el etherape.
d4x
sábado, 19 de julio de 2008
Configurando usb(wireless)
NDiswrapper es un encapsulador que toma un driver de windows y lo encapsula siendo este el que controla al dispositivo funcionando como un intermediario entre el dispositivo y el kernel Linux.
NDiswrapper necesita de dos ficheros el .inf y el .sys del driver a usar con estos dos ficheros el puede realizar la encapsulacion del driver e interpretar su funcionalidad.
Para instalarlo en Opensuse basta con hacer como usuario root el siguiente comando:
# yast2 -i ndiswrapper
Una vez instalado usa las siguientes opciones:
# ndiswrapper -i nombredriver.inf {{{Instala el driver}}}
# ndiswrapper -m {{{Para mas informacion use la ayuda}}}
# ndiswrapper -mi {{{Para mas informacion use la ayuda}}}
# ndiswrapper -ma {{{Para mas informacion use la ayuda}}}
# ndiswrapper -l {{{Lista los dispositivos instalados}}}
# depmod -a {{{Dependencia de los modulos}}}
# modprobe ndiswrapper {{{Agregarlo como un modulo}}}
Aqui el encapsulador esta listo y el driver esta funcionando, pero si aun no ve su dispositivo pruebe con reiniciar su sistema, dicha accion es poco frecuente, luego puede ver que su dispositivo esta presente con {{{iwconfig}}}. Pero siempre y cuando el driver instalado sea el correcto.
Referencia:
http://sourceforge.net/projects/ndiswrapper/
http://es.wikipedia.org/wiki/NDISwrapper
jueves, 12 de junio de 2008
Primeros conocimientos
¿Que es la swap?
Una memoria virtual es una tecnica para habilitar que un sistema use mas memoria que la fisica disponible para el SO. Por lo tanto la swap no es mas que una particion de intercambio que es necesaria ser creada para evitar el colapso de aplicaciones o procesos que requieran ser procesados cuando la memoria fisica reusa la entrada debido a que esta llena.
¿Que es la particion /-(raiz o root)?
En cualquier SO GNU/Linux o Unix se requiere como minimo esta particion ademas de la swap para que pueda funcionar, esta particion es conocida tambien como (/). Esta particion no es mas que un directorio en el que se encuentran los sub-directorios del sistema para el funcionamiento del propio SO.
¿Que es el shell?
Los shell's mas populares son los siguientes:
1.- ash: Es pequeño y muy usado cuando no hay mucha memoria.
2.- bash: Es una version mas poderosa proveniente delsh
.
3.- csh: El original C shell, es generalmente lo mismo quetcsh
4.- ksh: Es un shell de Open source.
5.- nash: Otro shell pequeño para cuando hay poca memoria.
6.- sh:bash
ysh
, generalmente la misma cosa.
7.- tcsh: La mejora del C shell original.
8.- zsh: Reensamblabash
yksh
, con muchos ademanes y mejoras.
El shell no es mas que un interprete de comandos.
Proceso de Arranque en un sistema GNU/Linux
Las etapas básicas del proceso de arranque son las siguientes:
1.- La BIOS tiene el poder del sistema y comprueba el mismo y el MBR del disco duro primario.
2.- Se carga el GRUB en memoria y lanza el gestor de arranque desde /boot.
3.- Se carga el kernel en memoria, se cargan los módulos y se monta /root.
4.- El kernel transfiere el control del proceso de arranque a /sbin/init.
5.- /sbin/init carga los servicios y herramientas del espacio del usuario y loas particiones listadas en /etc/fstab.
6.- Inicio de sesión.
¿Qué es un servicio en GNU/Linux?
Un servicio es una aplicacion que se ejecuta de manera ininterrumpida escuchando y atendiendo peticiones realizadas a un servidor, todo servicio debe de evitar que el servidor se sature de igual manera no debe de crear conflicto con otros existentes en el servidor.
1.- Apache2.
2.- Bind.
3.- Mysql.
4.- Dhcp.
Son solo parte de los servicios que las distribuciones GNU/Linux pueden brindar.
miércoles, 28 de mayo de 2008
Como configurar xgl en openSUSE
En openSUSE es muy sencillo configurar el driver con el que se ejecuta o trabajan los videos, originalmente openSUSE trabaja con Xorg, pero tambien este puede ser cambiado para trabajar con Xgl, este funciona perfectamente en tarjetas de video NVidia o ATI, solo hay que hacer cambios a un simple archivo y reiniciar el modo grafico para que los cambios surtan efecto, para usuarios novatos sugiero reiniciar la maquina.
Primero sugiero que se lea muy bien que tarjeta de video se tiene y si se tiene los drivers de video para esta, puedes encontrar mayor informacion en '/usr/share/doc/packages/xgl/README.SUSE'.
Si crees que todo esta bien entonces vete al fichero /etc/sysconfig/displaymanager y cambia la siguiente linea:
{{{
DISPLAYMANAGER_XSERVER="Xorg"
}}}
para que quede:
{{{
DISPLAYMANAGER_XSERVER="Xgl"
}}}
luego ejecutas xdm que muy bien explicado sale en la ayuda 'README.SUSE'.
En Open Suse puedes ejecutar
rcxdm restart.
Esto debería trabajar bien por ahora, si tienes problemas, verifica tu driver o tu tarjeta de video.
Si tu tarjeta es nvidia, puedes decirle que trabaje con nvidia en lugar de Xorg o Xgl quedando de esta forma:
{{{
DISPLAYMANAGER_XSERVER="nvidia"
}}}
miércoles, 16 de abril de 2008
Escribiendo Shell Scripts
Entre los interpretes mas comunes esta el '/bin/bash', interprete bajo el cual se trata esta entrada.
Hagamos una pequena introduccion, empecemos escribiendo un archivo simple:
admin escribió: |
#!/bin/bash # Esto es un comentario echo "Hola " $USER ", es un placer verlo por aqui!" echo "Usted se encuentra en: " $PWD echo "La fecha de hoy es: "`date +"%d/%m/%Y"` |
Ahora almacenas esto en un archivo llamado 'ejemplo1.sh', entonces tendras un simple shell script. Puedes correrlo de las cuatro formas siguientes:
1)Usando el comando source:
admin escribió: |
fred@test:~> source ejemplo1.sh Hola fred, es un placer verlo por aqui! Usted se encuentra en: /home/fred La fecha de hoy es: 05/05/1994 |
2)Usando el punto como el comando source:
admin escribió: |
fred@test:~> . ejemplo1.sh Hola fred, es un placer verlo por aqui! Usted se encuentra en: /home/fred La fecha de hoy es: 05/05/1994 |
3)Usando el comando bash
admin escribió: |
fred@test:~> bash ejemplo1.sh Hola fred, es un placer verlo por aqui! Usted se encuentra en: /home/fred La fecha de hoy es: 05/05/1994 |
4)Haciendo ejecutable:
admin escribió: |
fred@test:~> chmod a+x ejemplo1.sh fred@test:~> ./ejemplo1.sh Hola fred, es un placer verlo por aqui! Usted se encuentra en: /home/fred La fecha de hoy es: 05/05/1994 |
Continuando les anexo aqui otro ejemplo:
admin escribió: |
#! /bin/bash for i in 1 2 3 4 5 do echo $i done -------- fred@test:~> chmod a+x ejemplo2.sh fred@test:~> ./ejemplo2.sh 1 2 3 4 5 |
Aqui les doy otro ejemplo:
admin escribió: |
#! /bin/bash for i in *.html do grep -i \<title\> $i >> tittles.list done -------- fred@test:~> chmod a+x ejemplo3.sh fred@test:~> ./ejemplo3.sh <title>Yahoo! Telemundo</title> |
Para hacer funciones:
admin escribió: |
#!/bin/bash function Imprimir(){ echo $1 } Imprimir "Hola Mundo" -------- fred@test:~> chmod a+x ejemplo4.sh fred@test:~> ./ejemplo4.sh Hola Mundo |
Para leer datos de parte del usuario hay cuatro formas:
1) Usando read:
admin escribió: |
#!/bin/bash read -p "Ingrese un valor: " -e input echo "Su valor es: '$input'" -------- fred@test:~> ./ejemplo5.sh Ingrese un valor: 6 6 |
2) Usando dialog:
admin escribió: |
#!/bin/bash dialog --inputbox \ "Escriba un valor: " 0 0 2> /tmp/inputbox.tmp.$$ retval=$? input=`cat /tmp/inputbox.tmp.$$` rm -f /tmp/inputbox.tmp.$$ case $retval in 0) echo "Su valor es: '$input'";; 1) echo "Cancelo la operacion.";; esac -------- fred@test:~> ./ejemplo6.sh <--Aun no e hecho las imagenes--> |
3) Usando Xdialog:
admin escribió: |
#!/bin/bash Xdialog --title "INPUT BOX" --inputbox \ "Escriba un valor: " 0 0 2> /tmp/inputbox.tmp.$$ retval=$? input=`cat /tmp/inputbox.tmp.$$` rm -f /tmp/inputbox.tmp.$$ case $retval in 0) echo "Su valor es: '$input'";; 1) echo "Cancelo la operacion.";; 255) echo "Cerro la ventana.";; esac -------- fred@test:~> ./ejemplo7.sh <--Aun no e hecho las imagenes--> |
4) Usando zenity:
admin escribió: |
#!/bin/bash input=$(zenity --text "Escriba un valor: " --entry) retval=$? case $retval in 0) echo "Su valor es: '$input'";; 1) echo "Cancelo la operacion.";; esac -------- fred@test:~> ./ejemplo8.sh <--Aun no e hecho las imagenes--> |
Quizas zenity sea la mejor opcion cuando tienes funcionando una X, pero cuando no dialog es la mejor opcion o read como lo mas simple para un script.
Las paginas man ofrecen mayor documentacion.
Usando ciclos:
Con los ciclos podemos hacer maravillas, tanto moviendonos de un rango a otro como usandolos para movernos en el mismo sistema, empecemos con lo basico:
admin escribió: |
#!/bin/bash for (( i=1;i<=5;i++ ));do echo $i done -------- fred@test:~> ./ejemplo9.sh 1 2 3 4 5 fred@test:~> _ |
Haciendo algo mas complejo, mostrando si es directorio o archivo los datos contenidos en una carpeta dada:
admin escribió: |
#!/bin/bash for item in `ls $1`;do if [[ -d $item ]];then echo $item": Es una carpeta" else echo $item": Es un archivo" fi done -------- fred@test:~> ./ejemplo10.sh /home/test avion.wmv: Es un archivo Desktop: Es una carpeta Documents: Es una carpeta Pictures: Es una carpeta video.avi: Es un archivo fred@test:~> _ |