viernes, 25 de mayo de 2012

Crear un hotspot Wi-Fi desde la línea de comandos de Windows 7

¿Cómo lo conseguimos? Por comodidad lo mejor es dividir lo que hay que hacer en dos pasos:
1. Esto tendremos que hacerlo cada vez que iniciemos Windows o se resuma luego de una suspensión o hibernación: Abrimos una línea de comandos con permisos elevados e ingresamos:
netsh wlan set hostednetwork mode=allow ssid=nombre-red key=contraseña keyUsage=persistent
Por supuesto, en lugar de nombre-red pondremos el nombre (conocido justamente como SSID) que queremos que tenga nuestro hotspot y en lugar decontraseña la clave que elijamos. Luego ingresamos:
netsh wlan start hostednetwork
Y pasamos al segundo paso.
2. Esto generalmente solo tendremos que hacerlo una vez: Vamos al Centro de redes y recursos compartidos, hacemos click enCambiar configuración del adaptador, y abrimos las propiedades del adaptador cuya conexión a Internet queremos compartir. Puede ser un adaptador Ethernet, el que corresponde a nuestro módem 3G, o incluso nuestro adaptador WiFi, si lo que queremos es compartir el acceso de una red inalámbrica a la que nos encontramos conectados; Virtual WiFi es tan copado que permite tener un Access Point virtual al mismo tiempo que estamos conectados a uno real, y todo teniendo un solo adaptador Wi-Fi. Una vez en las propiedades vamos a la solapa Compartir, tildamos la casilla que dice “Permitir que los usuarios de otras redes se conecten…” y en Conexión de red domésticaseleccionamos el adaptador que corresponde al Virtual WiFi, que normalmente se llamará HotSpot. Le damos Aceptar a todo, y deberemos desactivar y volver a activar la conexión a Internet para que todo funcione.
Una vez hecho todo esto veremos la red definida desde otros dispositivos y deberíamos poder conectarnos y navegar sin problemas desde los mismos. Sobre la seguridad no hay demasiados problemas, por defecto este hostpot virtual, llamado normalmente SoftSpot, provee seguridad WPA2, por lo que solo deberemos asegurarnos de utilizar una clave fuerte.
Si deseamos ver el estado de nuestro SoftSpot, y checkear si se encuentra algún dispositivo conectado, todo lo que tenemos que hacer es volver a la línea de comandos de Windows 7 y teclear:
netsh wlan show hostednetwork
Lo cual nos mostrará algo más o menos como lo siguiente:
Configuración de red hospedada
------------------------------
Modo: permitido
Nombre de SSID : "nombre-red"
Nº máximo de clientes : 100
Autenticación : WPA2-Personal
Cifrado : CCMP

Estado de la red hospedada
--------------------------
Estado : Iniciado
BSSID : e4:55:6f:32:d8:01
Tipo de radio : 802.11n
Canal : 11
Número de clientes : 1
00:21:7a:60:fe:4e Autenticado
Lamentablemente, solo nos entrega una MAC Address por cada equipo conectado, pero queremos correlacionarla a la dirección IP que tiene asignada solo debemos ingresar:
arp -a
Con este comando obtendremos la lista completa de la tabla de relación entre MAC Address y dirección IP con las que haya tenido contacto nuestro sistema. Nos interesará en particular aquellas de tipo dinámico, en donde seguro encontraremos las direcciones que se encuentran conectadas a nuestro SoftSpot. Una vez que tenemos su dirección IP, con cada podemos ingresar:
ping -a xxx.xxx.xxx.xxx
Y en este caso no nos interesa si el otro equipo responde los ping, que probablemente no lo haga debido a su firewall, sino su nombre host, que será algo como:
Haciendo ping a pc-de-cacho.mshome.net [xxx.xxx.xxx.xxx] con 32 bytes de datos:
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.

Estadísticas de ping para xxx.xxx.xxx.xxx:
Paquetes: enviados = 4, recibidos = 0, perdidos = 4
(100% perdidos),
Seguro, es mucho más trabajo que usar una aplicación como Connectify que nos entrega esta info servida, pero por otro lado las ventajas son evitar tener en ejecución otra aplicación más, porsiblemente pesada, mal programada, con anuncios, o sospechosa. ¡Y todo lo resolvemos con unos cuantos comandos!
Lo ideal si no queremos recordarlos de memoria y escribirlos a cada rato es crear unos simples archivos de ejecución por lotes, ya sea con extensión .bat o .cmd que incluya estos comandos. Por ejemplo podemos crear un hotspot.cmd que incluya las siguientes líneas:
netsh wlan stop hostednetwork
netsh wlan set hostednetwork mode=allow ssid=nombre-red key=contraseña keyUsage=persistent
netsh wlan start hostednetwork
¿Por qué parar primero el hotspot? Encontré que entre desconexión y reconexión del enlace a Internet, en particular con el pésimo servicio de los operadores locales, suele dejar de funcionar a pesar de lanzar nuevamente estos comandos, y detenerlo previamente lo resuelve.
Es importante recordar también que debemos ejecutar todo con derechos de administrador o no va a funcionar, y si queremos automatizarlo podemos utilizar el Programador de tareas de Windows 7 para hacer que se ejecute ante determinados eventos, como al iniciar sesión o reanudarla por ejemplo. Aunque lo ideal será dejar un icono a mano que ejecutaremos solo cuando nos haga falta.


Crear un hotspot Wi-Fi desde la línea de comandos de Windows 7 | Geekotic