Comandos Linux

Comandos básicos en linux sobre las conexiones wireless

También incluiremos algunos comandos que permiten una mayor comodidad de trabajo dentro del entorno linux.

Primeras observaciones

Somos muchos los que hemos pasado a linux para poder poner nuestra tarjeta made in nosedonde. Si directamente nos reconoce la tarjeta perfecto pero sino amigo hay que currárselo. Y no obsesionarse con una instalación rápida para poder navegar de forma gratuita.

Muchos nos encontramos con diferentes problemas, pero la mayoría no son debido a que nuestra tarjeta no este reconocida en linux, si no que no damos con el driver adecuado. Esto es lo mas importante.

Y además lo mas de lo mas:

Tener en cuenta que hay que tener instaladas la fuentes de kernel y/o las cabeceras correctas, sin esto lo del típico make all,make y make install no vale para nada.
Sin las fuentes instaladas y al ejecutar make nos da un error (lógicamente) la mayoría piensa que no les funciona su tarjeta y lo dejan estar, pero amigo no es ese el problema, la realidad es otra.
Así que perder un poco de tiempo en ver como funciona este nuevo mundo.

Cada distribución o live cd linux presenta formas diferentes de instalar y/o bajar sus fuentes y/o cabeceras (headers), así que en función de lo que tengáis, necesitareis actuar de una forma u otra.
También hay distros que ya instalan de serie estos requisitos pero la mayoría no, así que tener cuidado.

Por lo tanto, al instalar un modulo de un driver en cualquier linux recordad primero que hay que comprobar que se tengan las cosas bien instaladas, así como las herramientas de compilación.

En /lib/modules/tukernel debe de existir un fichero build, pero es un enlace simbólico. Es como un acceso directo en Windows en el escritorio.
Y ese enlace debe de apuntar a /usr/src/tukernel si no es así, no se puede seguir.

Una vez superado esto hay que leer siempre el fichero Readme de los drivers que no hemos bajado y seguir los pasos, pues a veces es recomendado ejecutar otros comandos antes que el típico make && make install por ejemplo la ejecución de:
./configure

Comandos básicos

Solo pretende ser una guía para principiantes como yo en el mundo wireless a través de linux.
Hay que decir que no todas las opciones se permiten para todas las tarjetas.
También citar que en función de una configuración se podrán utilizar o no otros comandos, solo es probarlo.
Mediante comando –help encontramos todas la posibles entradas. Para algunos comandos como iwconfig y iwlist es necesario tener instaladas correctamente las linux-wireless-extensions (yo he trabajado con la versión 26). Y obviamente la tarjeta correctamente instalada y con sus drivers correctos. Recordad que muchas acciones hay que hacerlas como administrador. Tecleamos su y posteriormente cuando nos pida Password lo introducimos.

——————–      iwconfig     ——————–

iwconfig : a secas no dirá las interfaces que tenemos.
iwconfig [interface] [opción]

[interface] = tipo eth0, ath0 ejemplo iwconfig ath0

 Nos dará información de como esta configurada la tarjeta inalámbrica.

iwconfig [interface]: ejemplo iwconfig ath0

Nos dirá toda la información de la configuración de red inalámbrica (nombre de red, canal, nivel de señal, velocidad, potencia, encriptación de wep, punto de acceso.

Si es FF:FF:FF:FF:FF:FF es que no esta asociado a ninguno.

iwconfig –versión

Nos dirá la versión que utilizamos de las wireless-extensions y la recomendada para nuestro interface inalámbrico.

[opción]

essid Nombre_red: ejemplo iwconfig ath0 essid “Wireless 1”

Nos servirá para configurar nuestra red con el nombre que queramos o a la que queramos asociarnos. Nombre de red.

mode monitor: ejemplo iwconfig ath0 mode monitor

Para capturar trafico de redes externas.

mode managed: ejemplo iwconfig ath0 mode managed

Lo que venia siendo en Windows modo infraestructura mediante puntos de acceso y/o router.

mode ad-hoc: ejemplo iwconfig ath0 mode ad-hoc

Para conectar varios PCS sin puntos de acceso.

channel número _ canal: ejemplo iwconfig ath0 channel 6

Fijamos el canal elegido para nuestra tarjeta.

Podemos también utilizar la frecuencia.

freq ValorGhz: ejemplo iwconfig ath0 freq 2.412G

Fijamos el valor de frecuencia para nuestra tarjeta. Podemos también utilizar el canal .

Tenemos para:

canal 1= 2.412G     canal 2= 2.417G     canal 3= 2.422G   canal 4= 2.427G     canal 5= 2.432G      canal 6= 2.437G
canal 7= 2.442G     canal 8= 2.447G     canal 9= 2.452G   canal 10= 2.457G   canal 11= 2.462G    canal 12= 2.467G
canal 13= 2.472G   canal 14= 2.484G

rate valorvelocidad: ejemplo iwconfig ath0 rate 11M

Fijamos la velocidad en las comunicaciones para 802.11b. Podemos también utilizar 54M. O ponerlo en modo automático.

iwconfig ath0 rate auto

Para que la tarjeta elija la velocidad adecuada, incluso iwconfig ath0 rate 54M auto

frag valorfragmentación: ejemplo iwconfig ath0 frag 4096

power period :ejemplo iwconfig ath0 power period 60

Tiempo actividad la tarjeta cuando no se utiliza alguna conexión a red. Por lo tanto en modo monitor la captura de datos caería a la hora.

Nota: estas opciones puede realizarse de manera conjunta.

Ejemplo: iwconfig ath0 essid “Wireless_casa” channel 6 rate auto

——————–     iwlist     ——————–

iwlist [interface) [opción]

Acordaros de que podéis poder obtener todas los argumentos posibles para este y casi todo los comandos mediante iwlist –help
Igual que antes interface=ath0, eth0 la que tengamos y salga con el iwconfig o el ifconfig.

[opción]

scan: ejemplo iwlist ath0 scan

 Nos mostrara información de todas las redes inalámbricas que nuestra tarjeta detecta. Obviamente en modo monitor dará cero resultados. La diferentes redes que se detectan pueden cambiar por lo tanto no vamos a estar todo el rato introduciendo este comando. Hay herramientas que dan información de lo que hay en tiempo real. El airodump en modo monitor puede hacer un barrido en tiempo real de las redes próximas. Además graba en un fichero todas las detecciones aunque solamente haya sido en un momento puntual, esto sirve para saber si necesitamos colocar una antena para recibir con mayor calidad y señal posible redes a analizar. El airodump hace más cosas y hay mas herramientas para la detección como el kismet, etc.

frequency: ejemplo iwlist ath0 frequency

 Nos mostrara los diferentes valores de frecuencia y su correspondencia en el numero de canal validos para nuestra tarjeta así como la frecuencia y el canal en el que se encuentra en esos momentos la tarjeta. Ejemplo: Mediante aviso en pantalla current frequency =2.412GHz (Channel 1). En modo monitor al hacer un barrido de diferentes canales y si ejecutamos este comando varias veces veremos que la frecuencia actual (current frequency) va cambiando.

channel: ejemplo iwlist ath0 channel

 Es igual que el anterior

rate: ejemplo iwlist ath0 rate

 Nos indica las velocidad de comunicación que nuestra tarjeta soporta así como la velocidad actual (mediante current bit rate).

Para un ping igual que en windows: ping 192.168.1.1

——————–    ifconfig   ——————–

Para observar la configuración de la red tanto inalámbrica como ethernet.

Ejemplo: ifconfig a secas o ifconfig ath0

Para lanzar la red: ifconfig ath0 up. Este es muy importante.

Para caer la red: ifconfig ath0 down

Para reiniciar la red: /etc/rc.d/init.d/network restart

Para cambiar la dirección MAC:

ifconfig <interface> down hw ether xx:xx:xx:xx:xx

ifconfig <interface> up

Donde XX corresponde a 2 dígitos hexadecimales.

Ejemplo:

ifconfig ath0 down hw ether 11:22:33:44:55:66

ifconfig ath0 up

Para obtener ip por dhcp, si esta configurada para ello:

pump -i ath0 si el tipo de cliente para obtener ip por dhcp es ese

Para diversas configuraciones podemos atacar sobre el archivo situado en: /etc/sysconfig/network_scripts/ y que corresponda al tipo ifcfg-(interface)/

Ejemplo ruta completa: /etc/sysconfig/network_scripts/ifcfg-ath0

Vamos a el y lo modificamos.

Por ejemplo para obtener dhcp debemos de tener o colocar BOOTPROTO=dhcp y el tipo de cliente para dhcp ejemplo: DHCP_CLIENT=pump, también tenemos dhclient, dhcpcd y dhcpxd.

Ejemplo de fichero en /etc/sysconfig/network_scripts con el nombre ifcfg-ath0

DEVICE=ath0
BOOTPROTO=dhcp
ONBOOT=yes
MII_NOT_SUPPORTED=no
WIRELESS_MODE=managed
WIRELESS_ESSID=WIRELESS
WIRELESS_FREQ=2.437G
WIRELESS_RATE=54M
DHCP_CLIENT=pump
NEEDHOSTNAME=yes
PEERDNS=yes
PEERYP=no
PEERNTPD=no

Si la entrada BOOTPROTO=static entonces podemos asignar la ip manualmente mediante:

ifconfig 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up

y asignar la puerta de enlace como:

route add default gw 192.168.1.1

Otro ejemplo:

DEVICE=ath0
BOOTPROTO=static
IPADDR=192.168.1.4
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
MII_NOT_SUPPORTED=no
WIRELESS_MODE=managed
WIRELESS_ESSID=WIRELESS
WIRELESS_FREQ=2.437G
WIRELESS_RATE=54M

En este caso la determinación de ip es estática.
Y por comandos se determina la ip, la mascara y el broadcast de la siguiente manera:

ifconfig ath0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up

y la puerta de enlace como:

route add default gw 192.168.1.1

Podemos actuar de una manera u otra así que vosotros mismos.

Tener en cuenta que si tenemos varias interface podemos asignar un default (puerta de enlace para cada interface). Como, así:

route add default gw 192.168.1.1 (tuinterface)

Ejemplos:

route add default gw 192.168.1.1 ath0

route add default gw 192.168.1.1 ra0

Es interesante hacer un route antes y después de añadir el ultimo comando. Ejemplo de lo que debe aparecer:


[root@halcon halcon]# route
Kernel IP routing table
Destination   Gateway   Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *              255.255.255.0   U     10         0       0      wlan0
192.168.1.0     *              255.255.255.0   U     10         0       0      ra0
default         192.168.1.1     0.0.0.0         UG      0          0       0      ra0
default         192.168.1.1     0.0.0.0         UG      0          0       0      wlan0

Como veis tengo 2 puertas de enlace para diferentes tarjetas.

Si queremos eliminar una de ellas para poder sobrescribirla pues tenemos:

route del default

Nos faltan las DNS:

Para esto editamos el fichero resolv.conf. Su ruta exacta debe de estar en /etc/resolv.conf

Ahí va un ejemplo:

Mi nombre de usuario es: halcon Entonces:

search halcon
nameserver 192.168.1.1

Esto es lo que debe aparecer en mi fichero para poder navegar correctamente.

En todo caso si modificamos el fichero después debemos de reiniciar la red con:

Para reiniciar la red: /etc/rc.d/init.d/network restart

Cualquier cambio con comandos no son para siempre es decir al iniciar el PC el sistema operativo siempre carga la configuración del fichero que he citado, al igual que cuando se reinicia la red, tenerlo en cuenta.

También es útil probar lo siguiente para verificar que no hay problemas:

modprobe wlan
modprobe [interfaz] Ejemplo: modprobe ath0

Animarse a pasarse a linux

Cada cual es libre de trabajar con un determinado sistema operativo sea windows, una distro completa o un live cd, ya que cada uno se alimenta su propio cerebro y solo el determina su camino. Podéis trabajar en ambas plataformas, pero no os cerréis solo en una, mirad de probarlo todo en la vida, ser de mentes abiertas, y quedaros con lo mejor de cada casa.

 Linux puede definirse como una herramienta de potencia brutal en entornos de auditoria inalámbricas, no lo descartéis, y sobre todo tener mucha paciencia con el, solo os pido que como mínimo, la misma que hemos tenido con windows en el devenir de los tiempos.

Pequeños trucos
Que nos serán muy útiles;
Interesante el comando lspci

Nos da información del hardware que reconoce nuestro linux.

Interesante el comando lsmod

Nos da información de los módulos instalados

pwd

Si en cualquier momento queremos comprobar en que directorio te encuentras en tu sistema linux puedes hacerlo ejecutando este comando (print working directory).

Traducido viene a ser “muestra el directorio de trabajo“)

Ejemplo:

[root@wireless init.d]# pwd

/etc/init.d

shopt -s cdspell

Este me gusta mucho y seguro que a mas de uno. La opción cdspell corregirá automáticamente (haciendo uso de una herramienta de corrección ortográfica) los errores tipográficos cometidos en las ejecuciones del comando cd.

Ejemplos:

[root@wireless /]# cd /us1r/srcs/linnux-2.6.11-6mdk
/usr/src/linux-2.6.11-6mdk
[root@wireless linux-2.6.11-6mdk]# pwd
/usr/src/linux-2.6.11-6mdk

[root@wireless linux-2.6.11-6mdk]# cd /etcq/initd
/etc/init.d
[root@wireless init.d]# pwd
/etc/init.d

El sistema de corrección que añade la opción cdspell es muy interesante, pero en cualquier caso limitado, si se comete más de un error en una parte de la ruta no es capaz de corregirlo pero si lo corrige si se produce en partes diferentes.
Además, tener en cuenta que si realizamos la ejecución en línea de comandos, el efecto solo se mantendrá en la sesión de terminal en curso y no cuando lancemos nuevas sesiones.

Puerta de enlace y DNS

Tener en cuenta que si tenemos varias interface podemos asignar un default (puerta de enlace para una)

route add default gw 192.168.1.1 (tuinterface)

Ejemplos:

route add default gw 192.168.1.1 ath0
route add default gw 192.168.1.1 ra0

Es interesante hacer un route antes y después de añadir el ultimo comando.
Ejemplo de lo que debe aparecer:

[root@halcon halcon]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     10     0        0 wlan0
192.168.1.0     *               255.255.255.0   U     10     0        0 ra0
default         192.168.1.1     0.0.0.0         UG    0      0          0 ra0
default         192.168.1.1     0.0.0.0         UG    0      0         0 wlan0

Como veis tengo 2 puertas de enlace para diferentes tarjetas.

Si queremos eliminar una de ellas para poder sobrescribirla pues tenemos:

route del default

Nos faltan las DNS:

Para esto editamos el fichero resolv.conf. Su ruta exacta debe de estar en /etc/resolv.conf

Ahí va un ejemplo:

Mi nombre de usuario es: halcon
Entonces:

search halcon
nameserver 192.168.1.1

Esto es lo que debe aparecer en mi fichero para poder navegar correctamente.

En todo caso si modificamos el fichero después debemos de reiniciar la red con:

Para reiniciar la red:

/etc/rc.d/init.d/network restart

Gzip, Bzip y Tar en modo texto

A pesar de que muchos programas son distribuidos en paquetes RPM o DEB a veces (muchas, casi la mayoría) hay situaciones donde tenemos que compilar las fuentes del programa.
Por lo general son suministrados en ficheros con extensión .tar.gz o .tar.bz2 ( y también sus versiones abreviadas  –  .tgz  o .tbz2). Para desempaquetarlos se necesita el programa Tar, así como los programas Gzip y Bzip2. Nos puede parecer raro que son necesarios 2 programas. Esto resulta del hecho de que el programa Tar únicamente une varios ficheros en uno (con extensión .tar), el cual no es sometido a ninguna compresión. En efecto, el archivo puede ocupar mas espacio que los archivos originales. Por esa razón, se crearon los programas Gzip y Bzip2, que ofrecen compresión.

El desempaquetado.

Tenemos el fichero archivo.tar.gz y nos preguntamos qué hacer con él. Es un archivo creado con el programa Tar (tiene la extensión .tar) y después comprimido con el programa Gzip (tiene la extensión .gz). Podemos llevar a cabo el proceso al revés. Primero descomprimimos el archivo con la instrucción :

gzip -d archivo.tar.gz

El argumento -d significa descompresión. Eventualmente podemos usar gunzip en lugar de gzip -d.
Como resultado obtenemos el archivo archivo.tar (notamos que el fichero archivo.tar.gz ¡desaparece!). Para desempaquetar este archivo lanzamos la instrucción:

tar -xvf archivo.tar

Los argumentos que se encuentran detrás del guión significan que debe llevarse a cabo el desempaquetado (x – extract) de los ficheros, cuyos nombres deben ser visualizados en la pantalla (v – verbose), y se hallan en el archivo con el nombre dado después del parámetro f (file). El guión no es obligatorio en esta instrucción.
Toda la operación  se puede realizar con una instrucción, y eso gracias a la cooperación de los programas Tar y Gzip. Basta con utilizar en la instrucción tar la opción -z, para que el archivo antes de desempaquetarlo sea descomprimido con el programa Gzip, es decir, nuestra instrucción puede tener la siguiente forma definitiva:

tar -xzvf archivo.tar.gz

tar xzvf archivo.tar.gz

Probar los dos.

En el caso de Bzip2 la situación es prácticamente idéntica. en las instrucciones anteriores basta con cambiar gzip por bzip2 y gunzip por bunzip2, y el argumento z de la instrucción tar por el argumento -j. Por supuesto, también cambian las terminación de los nombres de los ficheros z (.gz por .bz2). La instrucción final puede verse así:

tar xjvf archivo.tar.bz2

tar -xjvf archivo.tar.bz2

Probar las dos.

Para entornos gráficos tenemos más posibilidades.

Para servidor gráfico tipo KDE tenemos el programa ARK, y esta totalmente integrado, es decir podemos usar el botón secundario del ratón para desempaquetar y descomprimir de forma directa este tipo de archivos. Realmente es muy útil y el que más uso.
En modo grafico obtendremos 2 ficheros el original y el completamente desempaquetado y descomprimido y colocado en la ruta que deseamos. Si Ark encuentra algún obstáculo en la extracción nos lo avisara y nunca procederá a la extracción automática.
Pero no todos desean usar KDE, por suerte existe File Roller, el cual cumple las mismas funciones que Ark, incluso tiene algunas y más mejoras.

No me arranca el entorno grafico

Para saber los posible errores que ocurren al intentar iniciar el entorno grafico lo mejor es ir a los logs, que normalmente se encuentran en /var/log/ con el nombre de XFree86.N.log ( donde N es un numero igual o mayor a 0).
El archivo de configuración del ratón, monitor, resolución, tarjeta grafica, es:

 /etc/X11/XF86Config ó /etc/X11/XF86Config-4

La forma mas cómoda de configurar los periféricos que antes he dicho es a través del comando:

xf86cfg -textmode

Aunque también se puede hacer directamente sobre el fichero de configuración que antes he dicho mediante  cualquier editor de texto, como podría ser: nano, pico, emacs, vi, gedit,...

Una vez reconfigurado el entorno grafico es necesario iniciar el entorno grafico ( las X’s ), esto se hace a través del comando: startx

Configurando una red local en linux

  Para configurar la red lo primero que tenemos que saber es que interfaz de red usamos, por lo normal suele ser eth0 pero también podéis estar usando eth1 así que vais cambiando hasta que os funcione.

Primero nos damos permisos de root y despues manos a la obra. Supongamos que nuestra interfaz de red es eth0 y que no estamos usando DHCP.

  * Configurando la tarjeta:

  ifconfig eth0 <ip_privada> broadcast <ip_broadcast> netmask <ip_netmask> up

Creo que esta claro lo que hace esta línea pero por si acaso…:

<ip_privada>: Hay que sustituir esto por nuestra IP privada.

          <ip_broadcast>: Hay que sustituir esto por nuestra IP broadcast que por lo general suele ser la misma que la IP privada solo que varían los últimos tres dígitos que se cambian por 255.

 Ejemplo: IP-PRIVADA = XX.X.XXX.XXX pues entonces la IP-BROADCAST quedaría XX.X.XXX.255.

          <ip_netmask>: Esta es la mascara de red y casi siempre suele ser 255.255.255.0 a no ser que lo hayáis reconfigurado.

Si queremos observar los cambios ponemos:  ifconfig

* Agregando una puerta de enlace:

Esto se hace mediante el comando route. Podéis poner route para ver como esta actualmente y después para configurar la puerta de enlace ponemos:

  route add default gw <pasarela>

<pasarela>: En este caso tenemos que sustituir esto por vuestra pasarela (gateway).

* Colocando las DNS en su sitio…:

Ahora tan solo tenemos que añadir las DNS al archivo resolv.conf para que nos funcione:

echo “nameserver 80.58.0.33” > /etc/resolv.conf
echo “nameserver 80.58.32.97” >> /etc/resolv.conf

Con la primera línea lo que hacemos es enviar la línea nameserver 80.58.0.33 al archivo resolv.conf y si no existe lo crea automáticamente.
Con la segunda línea lo que hacemos es añadir la línea nameserver 80.58.32.97 al archivo resolv.conf

Cuidado cuando pongáis “>” y “>>” porque el primero sirve para crear el archivo y si lo volvemos a poner igual sustituimos el archivo y por eso se ponen dos “>>” para indicarle que “añada” al archivo esa línea a continuación de lo que ya hay en resolv.conf.

  * Resumen:

ifconfig eth0 10.7.191.176 broadcast 10.7.191.255 netmask 255.255.255.0 up
route add default gw 10.7.191.1
echo “nameserver 80.58.0.33” > /etc/resolv.conf
echo “nameserver 80.58.32.97” >> /etc/resolv.conf

CONFIGURANDO UNA RED LOCAL MEDIANTE “DHCP” (Dynamic Host Configuration Protocol):

En este caso es muy similar solo que tenemos que tener instalados los paquetes dhcp y dhcp-client.

Ahora ponemos:

dhcpd eth0

Y ahora tenemos que configurar la puerta de enlace como arriba y añadir las DNS igual que arriba:

route add default gw <PASARELA>
echo “nameserver 80.58.0.33” > /etc/resolv.conf
echo “nameserver 80.58.32.97” >> /etc/resolv.conf

PD: Lo mismo para wireless una vez establecida la conexión con el iwconfig

Privacy Policy Settings