domingo, 23 de junio de 2013

Como instalar LAMP en Debian Wheezy

Aqui un rapido tutorial de como instalar un sevidor Linux+Apache+PHP/Perl+MySQL (LAMP),bien en debian las cosas son faciles solo basta con pegar unos cuantos comandos y tendremos instaldo LAMP:

Abrimos una terminal y tecleamos:

Entramos como root:

su
Instalamos apache

apt-get install apache2 apache2-mpm-prefork
Instalamos MySQL

apt-get install mysql-server
Aqui nos va a salir la opcion de elegir la contraseña de mysql,eligen una es la de root pero no la de UNIX,la de root de MySQL(el administrador).


Instalamos php con las librerías de sql

apt-get install php5 php5-mysql libapache2-mod-php5

Aqui los archivos se guardan en /var/www/

Si queremos editar el archivo que se carga al entrar al 127.1.0.0

cd /var/www/
nano index.html # Esto es estando como root
Y entramos:

  127.1.0.0
Si no entra reiniciamos apache

service apache2 restart
Ahora instalamos phpmyadmin

apt-get install phpmyadmin

Y entramos:

  127.1.0.0
Si no entra,enlazamos la carpeta que esta en share:

 ln -s /usr/share/phpmyadmin  /var/www/phpmyadmin

Para saber la informacion de php y el API de apache:

printf "<?php\nphpinfo();\n?>\n" > /var/www/info.php

Y entramos

http://127.1.0.0/info.php

Eso es todo,ya dandole una "maquillada" asi puede quedar el localhost:


Eso es todo :D.



Leer más...

Saber la longitud mayor de un string en un diccionario Python

Algo que he necesitado hacer es saber cual es la string mas larga de un valor y una clave de un diccionario,esto es facil recorriendo y anaizando valor por valor y clave pro clave cada elemeto del diccionario:

Algoritmo:

1.Recorren el diccionario por clave y valor

2.Llenar dos valores con los valores de la longitud de las strings(listas en este caso)

3.Teniendo las listas devolver el elemento mas largo de la lista(numéricamente hablando)

En python eso luce asi:

 #!/usr/bin/env python3  
 Dic = {  
     "Clave" : "Valor",  
     "ClaveNumero2" : "Valor_numero2"  
 } # Diccionario de prueba  
 def espacios(valor,val=False): # Val false debuelve clave  
     strvalor,strclave = [],[] # Iniciamos dos listas para trabajar en el buble  
     for clave in valor: # Iniciamos el recorrido de claves  
         strvalor.append(len(valor[clave])) # Llenamos la lista con la longitud de cada valor  
         strclave.append(len(clave)) # Llenamos la lista con la longitud de cada clave  
     if val: # Si quieren el valor trabajamos el valor  
         strvalor.sort() # Sorteamos el valor de forma ascendente  
         return (strvalor[len(strvalor)-1]) # Regresamos el ultimo valor que es el mas alto  
     else: # Igual con la calve si es lo que desean  
         strclave.sort()  
         return (strclave[len(strclave)-1])  
 print ("La string mayor de clave es : %d") %(espacios(Dic,False)) # Probamos  
 print ("La string mayor de valor es : %d") %(espacios(Dic,True))  

Para que les funcione como debe,descomenten el código y asignen bien la sangría:


Les dejo el paste:

Enlace

Espero que les sirva :D.

Leer más...

Saber el numero mayor de un array Perl

En ocasiones necesitamos saber cual es valor mas alto numéricamente hablando,de un array o de un hash,en esta ocasion veremos los array,el algoritmo es simple:

1.Definir un valor a 0

2.Recorrer el array y comparar el valor de cada elemento con el de 0.

3.Como es obvio esperar un valor mayor a 0 cambiamos el valor de 0 al valor del elemento del array.

4.Regresamos al paso 2

Eso en Perl luce asi:



 #!/usr/bin/env perl  
 my @prueba = ( 8,1,2,2,6881);  
 print num_mayor(@prueba),"\n";  
 sub num_mayor  
 {  
   my @array = @_;  
   my ($n,$mayor) = (0,0); # Definimos dos numeros para trabajar el bucle  
   while ($n < scalar(@array)) # Recorremos el array  
   {  
     if ($mayor >= $array[$n]) # Vemos si es mayor o igual  
     {  
       $mayor = $mayor; # Si es asi sigue teniendo su valor  
     }  
     else # Si no es asi  
     {  
       $mayor = $array[$n]; # Obviamente es menor y le ponemos un nuevo valor  
     }  
     $n+=1; # Interaccion  
   }  
   return $mayor if ($mayor != 0); # Regresamos valor si no es 0  
 }  


Es simple el algoritmo,y podemos hacerlo en C,PHP,Lua,Javascript,etc,por ejemplo en ruby:


O en python me gusta usar un "truco",voltear la lista y imprimir el primer valor que debería ser el numero mayor:

 #!/usr/bin/env python3  
 prueba = [2,4,3,222,12]  
 def num_mayor(x):  
   mayor = sorted(x)  
   mayor = mayor[::-1]  
   return mayor[0]  
 print (num_mayor(prueba))  

En perl no se si existen estas funciones,porque hemos hablado de pop,shift,etc pero trabajan diferente,de todas formas me gusta parsear,para ver como funcionan las funciones del lenguaje de programación :D.

Espero que les sirva.
Leer más...

domingo, 16 de junio de 2013

Editar metadatos mp3 (id3tags) desde Debian/Ubuntu

En ocasiones nos encontramos con la necesidad de editar los metadatos de una canción los metadatos en las canciones se llaman ID3tags y son los que contienen la información mas importante del grupo musical,artista,banda,etc en windows por ejemplo existen infinidad de programas que nos ayudan a cambiar esta información incluso en smartphones con Android o iOS podemos realizar esto,pero en Linux se puede?

Si :D.

Existen algunos programas que lo hacen y en este caso que nos concentraremos mas en Debian ya que tiene el programa mas fácil de usar en sus repos, llamado easytags de Gnome.

Para instalarlo en Debian/Ubuntu basta con:

sudo apt-get install easytags

Ahora lo abrimos y el uso es bastante sencillo,solo elegimos una carpeta y nos busca todos los archivos de audio,luego elegimos los datos a modificar y por ultimo guardamos, también tiene opción de imagen de portada:






Eso es para Debian y Ubuntu y derivados,es al estilo windows,es bastante sencillo y recomendable,pero solo lo he visto solo en Debian en repos,si saben compilar pueden bajar el codigo fuente y compilarlo como yo arriba que lo compile para Gentoo(en estos momentos no estoy en Debian y por eso no puse las capturas de Debian):

Enlace

Descomprimen,necesitan ver las dependencias en  el archivo README

cat README
Y las opciones en el archivo INSTALL

cat INSTALL 

El programa es al estilo windows,y creo que esta disponible para el,si queremos al estilo Unix,podemos instalar id3tool y editar los ID3 desde linea de comandos en la Shell:

Para instalar:

sudo apt-get install id3tool

También lo probé en Gentoo y se instala:

sudo emerge -v media-sound/id3tool
Y ejecutamos asi:

id3tool --opcion cancion.mp3

Por ejemplo para el año

id3tool --set-year=2000 cancion.mp3

Para ver todas las opciones:

id3tool -h

Eso es todo,existen muchas mas herramientas,por ejemplo con VLC se puede hacer esto y con librerias de programación también,por ejemplo yo programe un script para mi en Perl

Enlace



Pero bueno eso ya es otra cosa :P.

Saludos.
Leer más...

lunes, 10 de junio de 2013

Visor pdf ligero con pcmanfm

Hay un visor de pdf que abre los documentos desde la linea de comandos,a este programa se le pasa un parámetro que es le nombre del fichero y en pcmanfm tenemos la capacidad de configurar los programas de esta manera asi que tendremos un visor de pdf ligero y usable desde pcmanfm.

Tutorial

Instalamos el visor:

 En Gentoo

sudo emerge -av app-text/mupdf

En Ubuntu


sudo add-apt-repository ppa:guilhem-fr/mupdf

sudo apt-get update
sudo apt-get install MuPDF

En Arch

pacman -S mupdf

Bien,ahora vamos a pcmanfm y le damos clic derecho a un PDF

Abrir con...

Y Linea de comandos # O su equivalente en ingles

Y escribimos:

mupdf %f

Y listo


Eso es todo :D
 


Leer más...

sábado, 8 de junio de 2013

Como cambiar el wallpaper automáticamente en openbox

En openbox usamos un programa de linea de comandos que se llama feh,el cual usaremos en este momento,yo he visto que tambien usan nitrogen,asi que si no tienes feh instalalo:

En Debian:

sudo aptitude install feh

En Gentoo:

sudo emerge -av feh

Bien,ahora van a usar este script en Perl que programe:

 Enlace

Lo meten en un archivo de texto,luego le dan permisos de ejecución:

chmod +x archivo_que_cambia_el_wallpaper

 Y luego lo agregan al inicio de openbox:

nano ~/.config/openbox/autostart.sh

Añaden la ruta,por ejemplo:

/home/tu_usuario/archivo_que_cambia_el_wallpaper &

El & es para que se quede ejecutando en segundo plano.



Eso es todo,antes de añadirlo configuren la carpeta de las imagenes y el tiempo entre cada cambio,es en segundos,asi que un minuto son 60,el script busca automáticamente las imágenes que esten en la carpeta que señales y luego las ordena alfabéticamente y las cambia cada x segundos que hayas definido,si algo anda mal avisara:

Como una imagen no se ve como funciona:


Les dejo un vídeo:



Eso es todo :D



Leer más...

Nuevos nombres de red en Gentoo a partir de kernel 3.8

Bien,esto no es un tutorial mas bien es un aviso a otros gentooneros,a partir del kernel 3.8 se cambian los nombres de nuestra interfaz de red a diferentes nombres,esto no es por el kernel 3.8 para arriba, mas bien es por udev,ahora las interfaces se muestran algo como:

wlp1s0

En vez de wlan0,o eth0 muestra algo como lo de arriba.

Bien,lo menciono porque hace poco actualice y me cambiaron los nombres de red en estos momentos estoy usando el kernel 3.9 de la rama inestable de x86, y ese nombre se ve mal,pensé que era por el kernel pero no,esto lo dice en las noticias de eselect:

eselect news read all

Pero como no lo leeo,tuve que ver el error con dmesg,en el cual me apareció algo como:

udev cambio el nombre de wlan0 a wlp1s0 (en ingles)

Bueno,si acaban de instalar gentoo,o actualizaron udev tienen que modificar las configuraciones de udev y openrc(si lo usan):

Primero borramos eth0 y wlan0 de runlevel default.

rc-update del net.eth0 default

rc-update del net.wlan0 default

Ahora cambiamos los enlaces de net.lo a los nuevos nombres,pero primero los vemos con este comando:

udevadm test-builtin net_id /sys/class/net/eth0 2> /dev/null

udevadm test-builtin net_id /sys/class/net/wlan0 2> /dev/null



Es el que dice ID_NET_NAME_PATH=enp3s0 # En mi caso

Y muestra el nuevo nombre,ahora creamos un enlace:

cd /etc/init.d/

ln -s net.lo net.enp3s0

También en wlan0

Ahora

cd ../conf.d

nano  net

Y actualizamos eth0 por el nuevo nombre.

Por ultimo agregamos el nuevo servicio a openrc:

rc-update add net.enp3s0 default

También para wlan0 con nuevo nombre.

Eso es todo,creo mas info en la wiki:

http://wiki.gentoo.org/wiki/Udev/upgrade


Leer más...

jueves, 6 de junio de 2013

[Shell] Variables de entorno Linux

Hemos hablado en algunas ocasiones de las variables de entorno pero no las hemos tocado a fondo,por ejemplo el $PS1,$PS2,$LS_COLORS,etc.

Las variables de entorno cambian el comportamiento del sistema,un tanto en modo shell y también en modo gráfico ya que se definen variables que pueden modificar el comportamiento del sistema total.

Un ejemplo de ello son las locales,variables de entorno local de lenguaje,en mi caso:

es_MX.utf8

Las variables de entorno son variables de lenguaje de programación,en este caso Bash pero puede ser sh,tcsh,etc dependiendo de la Shell que uses, en bash se definen las variables así:

variable=valor

Las variables que usamos en el lenguaje de programación bash mediante scripts,se aislan en el script,por ejemplo si creamos un script que  contenga:

#/bin/bash

hola="hola"
mundo="mundo"

echo $hola $mundo


Y lo ejecutamos:

bash holamundo.sh

Se debería asignar el valor "hola" a la variable hola al ejecutar el script,así que si en la linea de comandos escribiéramos:

echo $hola

Debería imprimir el valor de hola que le dimos en el script,pero no,porque se aisla su contenido en el mismo script,en cambio si en la linea de comandos defiriéramos una variable:

hola="hola"

Y la imprimiéramos

echo $hola



Si nos mostraría resultados,esto es porque la linea de comandos es una consola dinámica para bash,como la de python por ejemplo.

Las variables de entorno son variables que usa el sistema,estas son definidas con mayúsculas y las define automaticamente el sistema o los programas que las usan,las variables mas comunes son:

HOME # Muestra nuestro home

PWD # Muestra el lugar donde estamos

OLDPWD # Muestra el ultimo lugar donde estuvimos(se define cuando visitamos mas de dos lugares en el sistema,con el comando cd)

TERM # Muestra la terminal por defecto

LOGNAME # Muestra el nombre del usuario actual

LANG # Muestra el lenguaje

DESKTOP_SESSION # Muestra la sesión gráfica(entorno de escritorio)

SHELL # Muestra la sesión de linea de comandos(shell)

PATH # Muestra el lugar donde se encuentran los programas ejecutables

LS_COLORS # Muestra los colores que usan los programas con argumento (--color=auto)

PS1 # Muestra la configuracion del entorno (shell)

PS2 # Muestra la configuracion del entorno (shell) al acceder al PS2

Esto no solo es de Linux,GNU/Linux y todos los *nix que usan Bash,esto también existe en Windows/MS-DOS.

Para definir una variable de entorno se usa el comando

export VARIABLE="VALOR"

Por ejemplo

export PDF="/home/$LOGNAME/Descargas/pdf"

Y para acceder seria por ejemplo:

cd $PDF

Otro ejemplo es por ejemplo añadir rutas de ejecutables,por ejemplo cuando trabajamos con Perl:

Nota:En este caso estamos modificando una variable de entorno y se usa:

VAR="$VAR:mas valores"

Por ejemplo:

PATH="home/$LOGNAME/perl5/bin:$PATH" # PATH=VAR : $PATH

Para ver todas las variables de entorno o casi todas tecleamos:

env

o

printenv

Y para guardar la variable de entorno la metemos en nuestro bashrc:

echo 'export VARIABLE="VALOR"' >> ~/.bashrc
O

nano ~/.bashrc # nano o {vim,gedit,VI,kate,joe,etc}

Y exportamos las variables que queramos.

Eso es todo :D

Nota:Cuidado al modificar variables de entorno,en especial(PATH)

Leer más...

domingo, 2 de junio de 2013

[Shell] Tutorial tail Unix/Linux

En esta ocasión aprenderemos a usar tail,un comando muy usado por los administradores de servidores,no es que sea uno pero si lo fuera lo usaría ya que algo de lo que mas me llama la atención es que usa un bucle para mantener abierta la concatenación de un archivo,hagan de cuenta un cat funcionando en bucle infinito,que muestra las lineas que le indiquemos,esto sirve para escanear actividades en un archivo o incluso podemos escribir en el,usando los flujos estándares de Unix,solo Tuberias y flujos estándares,para ver con tail el avance del texto:

Vean,como programo un pequeño script en Perl sin usar un editor y viendo el avance con tail:




Ahora vamos a ver como funciona:


tail muestra las ultimas 10 lineas por defecto,solo las ultimas 10,por ejemplo podemos crear un archivo con 11 lineas comenzando desde el 0,con bash:

for i in {0..10}; do echo "Linea $i"; done >> prueba.txt

Y ahora ejecutamos tail:

tail prueba.txt

Y también podemos usar cat,que concatena todo el archivo.

Y vemos la diferencia:



Aunque tenemos 11 lineas tail solo usa 10,ahora veamos los parámetros:

tail -v archivo

Muestra el nombre del archivo en la primera linea:

tail -f archivo

Deja abierto tail para comprobar la actividad del archivo o también a su hermano:

tailf archivo

type tailf

Que también funciona lo que se menciona abajo(-n y  -v ).

tail -q

No muestra el nombre,es como tail solamente,solo que se usa porque cuando abrimos dos archivos al mismo tiempo:

tail archivo1 archivo2

Nos muestra los nombres por defecto,así que si no queremos eso usamos:

tail -q archivo1 archivo2
 
Solamente con el parámetro -q.

tail -n [{-,+}numero]

Muestra desde la lineas que indiquemos:

Por ejemplo

Desde la tercera linea hasta el final:

tail -n +3 archivo

Desde la tercera linea del final

tail -n -3 archivo

Por ejemplo para mostrar la ultima linea seria:

tail -n -1 

Y para mostrar todo al estilo cat,seria:

tail -n +1

Y nos muestra al estilo que cat concatena archivos de texto.

tail -c [{+,-}bytes]

Muestra los caracteres desde el byte que indiquemos,por ejemplo desde el byte 5:

tail -c +5 archivo

Desde el byte 5 de atrás:

tail -5 archivo

Eso es todo,para mas información siempre tenemos en la misma shell:

tail --help

o

man tail

Ya que me faltaron mencionar alguna funciones,pero estas son las mas interesantes(en mi opinión).

Eso es todo :D
Leer más...

sábado, 1 de junio de 2013

Como usar iwep pro asv

Como usar y como funciona iWep Pro ASV


Ya que andamos en esto del wifi y el iphone voy a explicar un sencillo tutorial de como usar iwep pro versión applestore ya que es diferente a app de cydia también vamos a ver en detalles técnicos  como logra averiguar los passwords de los routers a nivel programación.

Bien primero que nada como dije es diferente a la app de cydia,para empezar la app de cydia viene en .deb que es la paqueteria de debian que usa el iPhone(iOS) jailbroken para instalar aplicaciones y en la version de applestore biene en .ipa que es la paqueteria que usa apple,la diferencia entre estas dos paqueterias es que las .deb se pueden instalar en cualquier parte del sistema(root,la raíz del sistema) y las .ipa están aisladas en la carpeta mobile y solo pueden hacer uso de sus propias configuraciones y archivos.



La app de cydia funciona recolectando el:

SSID : Nombre del wifi o mas en especifico SSID (Service Set IDentifier) es un nombre incluido en todos los paquetes de una red inalámbrica (Wi-Fi) para identificarlos como parte de esa red. El código consiste en un máximo de 32 caracteres que la mayoría de las veces son alfanuméricos (aunque el estándar no lo especifica, así que puede consistir en cualquier carácter). Todos los dispositivos inalámbricos que intentan comunicarse entre sí deben compartir el mismo SSID, las redes en infraestructura que incorporan un punto de acceso, se utiliza el ESSID (Extended Service Set IDentifier).

y

BSSID: Se forma con la dirección MAC (Media Access Control) formada por 48 bits (6 bloques hexadecimales), el BSSID es un nombre de identificación único de todos los paquetes de una red inalámbrica (Wi-Fi) para identificarlos como parte de esa red

Después los calcula uniendo los dos con posibles coincidencias,así es posibles coincidencias,estas coincidencias son los paswords por defecto del router.

En la versión de cydia podemos instalar diccionarios,los cuales son bases de datos SQLite3 empaquetados en un .deb para poder instalarlos y así la app consultar el arreglo que es el SSID y BSSID juntos.

Como dije son posibles contraseñas que son usadas por defecto en la configuración del router al usar algoritmos pésimos las compañías de telecomunicación,aun así imagínense 6 bases de datos con mas de 2 millones de contraseñas:


Como he dicho antes en entradas similares a esta,funcionara y en muchas ocasiones ya que no muchos cambian la contraseña o el nombre de la red,conque cambien alguna de esas dos cosas ya no funcionara al no tener uno de los dos datos necesarios.

Existen muchos programas que usan este algoritmo(solución) mas que nada en Windows,en Linux tenemos por ejemplo aircrack-ng que si crackea la red.

Esto es automático en la versión de cydia,pero en la version de applestore tenemos que hacerlo manualmente:

Tutorial

1.Abrimos la app y elegimos la red,por ejemplo:

Infinitum

En el nombre(SSID) no hay problema es el que nos muestra en ajustes,lo apuntamos en algo y lo escribimos.

En MAC es la MAC (BSSID) del router,para aberiguarla hay varias formas pero aqui la tonteria:

No podemos desde el iPhone!!!
No se que tiene apple contra el escaneo de redes pero existia una app muy buena llamada wifianalizer o wififofum que mostraban esta informacion pero apple las borro :(

Yo aun la tengo,pero de nada sirve se supone que no tienes jailbreak:



Bien por ejemplo si usas Linux en el escritorio,puedes usar el script que programe que en parte lo reprograme por esto:

Enlace

O usar esta tubería Unix(como root):

iwlist wlan0 scan | grep -B 5 "essid de la red" | sed -n "1p" | awk '{print $5}'

Ahora con eso listo metemos el MAC en el iPhone y calculamos :



Y listo nos manda un password,lo pegamos en la configuración y listo(en este caso) :D



Como dije,si cambian el nombre de la red,el password,es WPA2 no funcionara.

Para buscar el MAC desde Mac pueden usar KisMAC-ng :

Enlace de descarga

O si usan Mountain Lion solo van a NetWork Utilities

En windows pueden usar NetSumbler

Enlace de Descarga

Aunque se me hace una tonteria usar un programa de Pc para poder usar una app de smartphone,pero bueno.

Leer más...

Detecta intrusos en tu red wifi desde el iPhone

Hace un tiempo hable de fing para Linux,un escaner de red similar a nmap que se usa desde la consola en Linux,no se si en windows y os x también pero en Linux se usa desde la consola,en esta entrada veremos que fing esta iOS con version de firmware 4.3 para arriba.

Fing es una utilidad muy similar a nmap en cuanto a funcionalidad y desde la limpia interfaz de iOS podremos averiguar:

Nuestra MAC

Muestra nuestra ISP en ubicación geográfica(Axtel,Telmex,etc(por ejemplo en México))


Reverse DNS:

 Nombres NetBIOS

Y lo que es el titulo de esta entrada,muestra todas las maquinas conectadas a tu red local,entre ellos algunos intrusos :P


Pues eso es todo,tambien detecta los servicios que esta ejecutando el host(dispositivo) que indiquemos,puerto 80,445,etc.

Eso es todo :D

Descarga
O búscalo como fing en appstore es gratuito.

Leer más...

Script para buscar wifi desde terminal [Actualizado]

Le hice una actualizacion a este pequeño script,el cual logra que nos conectemos por wifi desde la consola,este script lo cree para instalar Gentoo hace un tiempo ya que me conectaba a wifi desde la shell o tty y era un poco complicado andar de un lado a otro conectandome desde la shell,esto se puede solucionar con un solo comando o un pequeño script pero como me conecto a varias redes wifi,de amigos,familia,abiertas,etc no era una opcion solo hacer algo como:

 #!/bin/bash  
 iwconfig wlan0 essid "red" key clave  
 dhcpcd wlan0  
 exit 0;  

Cree el script para ayudarme y para ayudar a los que tengan el mismo problema que yo,ya que para usar solo se descarga desde una pc con internet,lo pasamos a una usb y la conectamos a nuestra distro, en mi caso Gentoo y como es solo tty seria algo como:

fdisk -l | sed -n '$p' | awk '{print $1}' # Para ver el usb

mnt /dev/sdx /media # Para montar el usb en media

cd /media && cp scan.sh ~/ # Para copiar el script a nuestro home

Y finalmente

bash scan.sh

Para ejecutar,todo debe ser como root.



Lo que le añadí a este script es que busca el BSSID y checa si la conexión es abierta,si es abierta al elegirla automaticamente hace un dhcpcd para asignarnos una ip,si tiene clave wep nos la pide,si tiene wpa o wpa2,da error ya que eso se hace con wpa suplicant :( y no le he añadido soporte.

Otras cuestiones a tomar es que la interfaz de red debe estar activa,(tener instalado los drivers(modulos) en el sistema tener dhcpcd o un programa que nos asigne una ip, y no estar corriendo un daemon como wicd o networkmanager porque da error de comunicacion(además de que no debería porque esta pensado para usuarios que no tienen interfaz,a menos que uses wicd en modo curses),bien eso es todo,les dejo el script


Enlace
Nota: Crea un archivo que se llama redes.temp,si tienes uno que se llama igual en la carpeta del script lo va a borrar. 

Esta hecho a base de tuberias de comunicacion Unix para el filtrado de datos.

Puede que piensen que algo como wicd-curses es una mejor opcion y de hecho si,yo tambien lo pense y no tenia internet para descargarlo y cuando me di cuenta ya habia programado este script que tambien puede usar dhclient,dhcpcd,pump,udhcpc,udhcpd solo que hay que configurar en el script:D

Luego le hago una Interfaz grafica :P

Saludos :D
Leer más...