miércoles, 1 de junio de 2011

Comandos Basicos de WifiWay

1.-Manual de comandos Para Wifiway
2.- 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


3.- 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. Os dejo el enlace sobre algunas reflexiones que se han hecho respecto a la entrada en el universo linux. En este enlace no encontraréis mucha información para adecuarlas a vuestras necesidades, son mas bien reflexiones, avisos, recomendaciones que yo mismo he planteado y también las de muchas otras personas que tienen una opinión diferente a la mía, pero que por supuesto y obviamente también son muy validas. 
[Solo usuarios Registrados pueden ver los links. click para regístrate]

4.- Pequeños trucos
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.

5.- 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
6.- Reinstalación de driver 
Publicado por eltitoneo en:
[Solo usuarios Registrados pueden ver los links. click para regístrate]

Y realmente me parece muy interesante.

Resulta que el comando rmmod rt2500 2>/dev/null lo único que hace es descargar el módulo y por mucho make y make install y modprobe que hagas siempre te va a cargar el driver antiguo el cual no soporta modo monitor.



SUBSTITUIR EL DRIVER RT2500 ANTIGUO POR EL NUEVO

-Compilamos nuestro driver con make y nos fijamos de que ha creado un archivo binario llamado rt2500.ko que es el driver en cuestión. Por cierto, es importante parchearlo antes de compilar para que nos funcione también con aireplay, si no sabeis cómo hacerlo mirad esto:
- Hacemos un modinfo rt2500 para saber cual es la ruta de nuestro driver antiguo y nos saldrá la siguiente información:
Código:
filename: /lib/modules/2.6.11-6mdk/kernel/3rdparty/rt2500/rt2500.ko.gz
parm: debug:Enable level: accepted values: 1 to switch debug on, 0 to switch debug off.
parm: ifname:Network device name (default ra%d)
author:
[Solo usuarios Registrados pueden ver los links. click para regístrate]

description: Ralink RT2500 802.11g WLAN driver 1.1.0 CVS 2005/07/10
license: GPL
vermagic: 2.6.11-6mdk 686 gcc-3.4
depends:
alias: pci:v00001814d00000201sv*sd*bc*sc*i*

-Apagamos la tarjeta y descargamos el módulo:
ifconfig ra0 down
rmmod rt2500 2>/dev/null


-Ahora sabemos que la ruta del driver antiguo es /lib/modules/2.6.11-6mdk/kernel/3rdparty/rt2500/ pues eliminamos el archivort2500.ko.gz y copiamos el driver que hemos compilado antes (rt2500.ko) en el este directorio y lo renombramos art2500.ko.gz

-Solo nos queda modprobe rt2500 para cargar el módulo y ya estará todo listo.

Esta explicado para el Mandriva pero se puede aplicar a cualquier linux, evidentemente cambiando las rutas por las que tenga cada uno en su distribución
Interesante el comando lspci

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

Eso no quiere decir que este listo para funcionar, ya que después se necesitan los módulos (los drivers)

Interesante el comando lsmod

Nos da información de los módulos instalados
El texto básicamente esta copiado de una revista pero puede ser muy útil para los que se inician en el mundo linux.
Y es básico y fundamental para poder instalar las herramientas que necesitamos.

7.- 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.
8.- 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
9.- Configurando una red local en linux
Autor: Firos

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

No hay comentarios:

Publicar un comentario en la entrada