lunes, 19 de diciembre de 2011

¿Cuál es la capacidad real de nuestro disco duro?

Actualmente, en los tiempos que corren, con tanto trajín de información y tantos "megagigas" aquí y allá, nos vemos en la necesidad de comprar un disco duro externo "para realizar copias de seguridad", o "para por si acaso", o "es que quiero guardar todo lo que quiero aquí y que no me lo toque nadie".

La capacidad de dichos discos ha aumentado considerablemente a lo largo de los años. Hace apenas unos 3 años, los discos tenían una capacidad de 120 GB en portátiles nuevos, y actualmente, ése espacio aumenta hasta los 500 GB o 640 GB. Cuando compramos un disco duro externo, o viene incorporado, pensamos que es mucha capacidad, pero sin quererlo, caemos en una pequeña "trampa". No es raro encontrar discos duros externos que, en ocasiones, vemos que le faltan una buena porción de espacio en el disco duro. Así, por ejemplo:
  • Compramos un disco duro nuevo de 500 GB, de los que en realidad son utilizables 465 GB
  • Compramos un disco duro de 1 TB y en realidad el espacio real es de 931 GB
Ahora. ¿Por qué ocurre esto? ¿Por qué se nos quita un 7% la capacidad de nuestros discos duros si están nuevos de fábrica? ¿Por qué si en la etiqueta pone "320GB" me encuentro con que tiene solamente 298 y poco utilizables?

Los fabricantes de discos duros (Seagate, Western Digital, entre otros) utilizan el sistema decimal para medir la capacidad de los discos duros, es más cómodo y menos complicado a la hora de fabricar muchos aparatos de disco duro. Por ejemplo:

  • Un disco duro de 30 GB de espacio en realidad sería de 30.000.000.000 bytes (en sistema decimal).
  • Un disco duro de 320 GB de espacio en realidad sería de 320.000.000.000 bytes (en sistema decimal).
A simple vista, parece sencillo ¿No?

Pero he aquí el problema de todo el asunto.

Los sistemas informáticos no usan el sistema decimal, sino el sistema binario. Cada byte de información está formado por 8 bit. Por lo tanto:

  • 1 byte = 1 octeto = 8 bit

1 Kilobyte (KB) son 1024 bytes, y no 1000 como cabría de esperar, dado que por regla de octetos, el KB no es potencia de 10, si no de 8, con lo que al cambio representan 1024 unidades de información.

  •  1 KB = 1.024 bytes = 8192 bits

Despues del KB está el MegaByte. 1 MB son 1024 Kilobytes. La cuenta real sería 1024 x 1024=  1.048.576 bytes de información.

  • 1 MB = 1.024 KB = 1.048.576 bytes = 8.388.608 bits
Después del MB, le toca al Gigabyte. 1 GB son 1024 Megabytes. La cuenta ahora es 1024 x 1024 x 1024 =  1.073.741.824 bytes.
  • 1 GB = 1.024 MB = 1.048.576 KB = 1.073.741.824 bytes = 8.589.934.592 bits
Llegados a esta conclusión ¿Qué vemos? Evidentemente lo siguiente: 1 GB decimal no es lo mismo que 1 GB binario.

¿Cómo podríamos calcular el espacio real que tendremos en nuestro disco duro nuevo? Dividiendo el espacio decimal entre el espacio de 1 GB binario.

Así, por ejemplo:

  • Un disco duro de 500 GB: 500.000.000.000 / 1.073.741.824 bytes = 465 GB aprox.
  • Un disco duro de 640 GB: 640.000.000.000 / 1.073.741.824 bytes = 596 GB aprox.
Valores más comunes

  • 40 GB ≈ 37,25 GB
  • 60 GB ≈ 55,88 GB
  • 80 GB ≈ 74,50 GB
  • 120 GB ≈ 111,75 GB
  • 160 GB ≈ 149,01 GB
  • 200 GB ≈ 186,26 GB
  • 240 GB ≈ 223,51 GB
  • 320 GB ≈ 298,02 GB
  • 400 GB ≈ 372,52 GB
  • 500 GB ≈ 465 GB
  • 640 GB ≈ 596 GB
  • 720 GB ≈ 670,55 GB
  • 1 TB ≈ 931,32 GB
  • 2 TB ≈ 1.862,64 GB
    Fuente:
    Otras páginas web.
    Experiencia con un profesor, y realización de cálculos manual.

    Última edición: Diciembre de 2016
    Motivo: Algunos errores ortográficos. 

    domingo, 11 de diciembre de 2011

    ¿Qué es ARP?

    El protocolo ARP (Address Resolution Protocol) es un protocolo a nivel 3 del modelo OSI (Capa de red. Maneja de direcciones IP para abajo: Dirección IP y dirección MAC). Es un protocolo utilizado para descubrir las direcciones IP y direcciones MAC de una red mediante una herramienta llamada tabla ARP.

    • ¿Para qué se usa ARP?

    ARP se utiliza para determinar las direcciones IP asociadas a cada tarjeta de red. Aparte de los ordenadores de nuestra propia red, también puede resolver las direcciones IP de otros ordenadores que aun así no esten en nuestra propia red pero sí sean visibles mediante un elemento intermedio, como un router.


    • ¿Qué es la tabla ARP?

    La tabla ARP, es una tabla que muestra las direcciones IP y MAC existentes en nuestra red. Así, podemos saber cuántas personas están conectadas al router y sus direcciones físicas y lógicas.

    En Windows todos los siguientes apartados

    Para ver la tabla ARP, usamos arp -a. arp a secas no hace nada, solo muestra las opciones.

    Si ejecutamos arp -a, la tabla será parecida a ésto:

    Interfaz: 192.168.1.34 --- 0xc
      Dirección de Internet          Dirección física          Tipo
      192.168.1.1                    00-01-02-03-04-05         dinámico
      192.168.1.36                   11-22-33-44-55-66         dinámico
      192.168.1.255                  ff-ff-ff-ff-ff-ff         estático
      224.0.0.22                     01-00-5e-00-00-16         estático
      224.0.0.252                    01-00-5e-00-00-fc         estático
      239.255.255.250                01-00-5e-7f-ff-fa         estático
      255.255.255.255                ff-ff-ff-ff-ff-ff         estático

    Interfaz 192.168.1.34 : Es nuestra dirección IP. Si tenemos dos tarjetas de red, nos deberán aparecer dos interfaces distintas.

    Dirección de Internet: Son las direcciones IP presentes en la red.

    • Las redes 192.168.1.X son las de nuestra propia red local. Son las entradas físicas de los ordenadores presentes en la red, con su dirección MAC
    • Las redes 224.0.0.22, 224.0.0.252 y 239.255.255.250 son direcciones IP reservadas para multicast. Multicast o multidifusión son direcciones IP locales en las que el emisor envía un datagrama a la dirección multicast y el router se encargará de hacer copias y enviarlas a todos los receptores que informen su interés por usar multicast. En sí mismo, no es nada útil.
    • La dirección 255.255.255.255 es la dirección de broadcast global. Tampoco sirve de mucho.

    Dirección física: Es la dirección MAC de los interfaces presentes en la red.

    Tipo: Estático o Dinámico. Significa que las direcciones física y de Internet pueden variar a voluntad del usuario propietario de su propio equipo.

    La pregunta que cualquier usuario puede hacerse es ¿Cómo se genera la tabla ARP?

    La tabla ARP se genera en nuestro ordenador a partir del Ping de broadcast. Éste ping lo que hace es enviar paquetes a la dirección de broadcast (La cual siempre es la última dirección de una red, la 255. En este caso, en la tabla ARP, la dirección es 192.168.1.255). El ping de broadcast no lo realiza nuestro ordenador, si no el router. Nuestro ordenador realiza un ARP Request a la dirección de broadcast, la cual reenvía un ARP Reply, ofreciéndole los datos que sabe del resto de ordenadores.

    • ¿Puedo renovar la tabla ARP cuando quiera?
    No. La tabla ARP se genera una y otra vez, con lo que la renovación de la tabla ARP es constante. Aproximadamente cada minuto o dos minutos se generará de nuevo.

    • ¿Es segura la tabla ARP?

    No. La tabla ARP se puede envenenar realizando un ARP Spoofing.

    ARP Spoofing: Es una técnica mediante la cual un ordenador atacante envía paquetes ARP falsos por la red, para hacer creer a los ordenadores que él es el gateway predeterminado, para así recibir él los paquetes, enterarse de qué hace la víctima, y reenviar los paquetes al router para que finja que no ha pasado nada.

    • ¿Cómo sé que estoy siendo víctima de ARP Spoofing? 

    El método más sencillo es examinar con Wireshark (un analizador de paquetes de red) que no existen excesivas ARP Reply. Si existen, estamos siendo víctimas de un ataque por fuerza bruta a nuestro router y está falseando la MAC para el reenvío de paquetes.
    • ¿Cómo puedo evitar un ARP Spoofing?

    Usando Tablas ARP estáticas. Básicamente es que nuestro ordenador asigne a cada dirección IP y dirección MAC una entrada estática, con lo que si hubiera un cambio en la dirección MAC de una dirección IP concreta, el ordenador rechazaría la nueva MAC y seguiría enviándola a la original.

    Para añadir una entrada estática, introducimos en línea de comandos:

    > arp -s (dirección IP) (dirección MAC)

    De esta forma, en vez de tipo Dinámico como aparecía antes, ahora aparecerá Estático. Así, si alguien intenta falsear la MAC, nuestro ordenador se dará cuenta y no aceptará la nueva entrada. Así evitaremos el ARP Spoofing en menor medida.

    Éste método en una red local pequeña, como una red doméstica, es segura. Para grandes redes se puede realizar un DHCP snooping, que consiste en que el servidor DHCP que administra las direcciones IP ya tiene la dirección física, con lo que no existe mucha posibilidad. (Es como si habilitáramos un filtro MAC)

    • ¿Existe un ARP Spoofing legítimo?

    Sí. A veces, existe la posibilidad de que en redes de pequeñas y medianas empresas, el administrador monitorice lo que hacen los usuarios de la red, así como si entran en sitios que no deberían o usan programas P2P que no deben. Dichos datos no pueden utilizarse a beneficio del administrador (Ésto es, él puede enterarse de todo lo que haces, pero no puede usar tus datos)

    • ¿Existen herramientas para realizar ARP Spoofing?

    Sí. Existen en Internet bastantes herramientas dedicadas a realizar ARP Spoofing. Algunos ejemplos de ellas son Cain y Abel, Dsniff, entre otras. De forma evidente, el uso de éstos programas es recomendable para investigación, y nunca orientado a sacar un mal uso del mismo.

    Fuente:

    Wikipedia.
    CCNA 1.
    Experiencia propia.

    Última edición: Noviembre de 2012
    Razón: Formato de la tabla ARP

    jueves, 8 de diciembre de 2011

    Utilizar un sistema operativo CentOS como router en una red local.

    CentOS (Comunnity enterprise Operating System) es un sistema operativo de código libre, basado en el núcleo Red Hat, pero con código liberado. CentOS es la alternativa gratuíta a Red Hat, y por ello, suele tener bastante tirón para implementarlo como servidor en una pequeña o mediana red. CentOS puede ser usado también como servidor LAMP, servidor de correo, servidor DHCP, DNS, y un largo etcétera.


    CentOS puede ser usado también como un router, usando dos tarjetas de red, una hacia la red de área local y otra al exterior(Internet)

    Para empezar esta entrada, nos centraremos primero en una situación "de la vida real":

    Imaginemos que tenemos una red de área local de por ejemplo tres o cuatro ordenadores, todos conectados por un switch, y queremos usar un ordenador ajeno a esos como servidor, para administrar a esos ordenadores direcciones IP y servicios de red cualesquiera. El ordenador servidor se usará como router, y también como firewall, filtrando las conexiones, rechazando algunas y aceptando otros puertos, para así tener control absoluto sobre las conexiones.

    Configuración del servidor:

    • El servidor tiene para esta administración dos interfaces: eth0 y eth1
      • eth0 para local.
      • eth1 para salida a Internet.
    • La configuración del firewall de la red se administrará mediante iptables
    • El método para enrutar los paquetes será NAT.
    Éste esquema se da en bastantes empresas a nivel pequeño y mediano. La diferencia es que nosotros usaremos CentOS, mientras que en una empresa es más probable usar un Windows Server (No tengo nada contra WS, pero resulta más eficiente el uso de Linux para administración de servidores. Más control)

    Una vez planteado todo, lo iremos montando poco a poco.

    El esquema a seguir será el siguiente:

    1. Instalaremos un servidor DHCP y configuraremos las opciones del mismo.
    2. Configurar las interfaces eth0 y eth1 para su funcionamiento.
    3. Enrutar los paquetes entre las dos conexiones (IP Forward y NAT)
    4. Establecer las políticas de filtrado (iptables)
    Sugerencia: Recomiendo usar CentOS en runlevel 3 (Línea de comandos). Ganaremos rapidez en el servidor al omitir el entorno gráfico.

    Nota: Todos los comandos deben ser ejecutados como Superuser (root).

    1. Instalación del servidor DHCP y configuración del mismo.

    En primer lugar, hay que descargar de los repositorios de CentOS el servidor DHCP. El paquete actual a fecha de hoy es dhcp-3.0.5-29.el5_7.1. Para instalarlo, en la línea de comandos, escribimos

    # yum install dhcp

    El ordenador buscará en los repositorios de CentOS el paquete solicitado. Una vez lo tenga, lo bajará a nuestro ordenador, lo configurará y lo intentará inicializar sin éxito, debido a que no tiene una configuración predefinida todavía.


    Una vez tenemos bajado el servidor DHCP, vamos a proceder a configurarlo.

    En primer lugar, tenemos que tener fijada cuál va a ser nuestra política de administración de las direcciones IP, así como del rango de direcciones disponible, máscara de subred, puerta de enlace y servidor DNS. Como será un servidor único, no usaremos política de alquiler de direcciones.

    El archivo de configuración a editar se encuentra en /etc y se llama dhcpd.conf. Si lo ejecutamos con nano y vim, nos saldrá que el archivo de configuración de muestra se encuentra en /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample. Para evitar posibles fallos y autorizaciones erróneas, introduciremos nuestro propio dhcpd.conf sin copiar el archivo de muestra.

    Como ejemplo, vamos a usar la subred 172.16.1.0,  máscara de subred 255.255.255.0, puerta de enlace la 172.16.1.1, DNS el 8.8.8.8. La administración de direcciones IP va de la 20 a la 30.

    El archivo quedaría así:


    # /etc/dhcpd.conf
    ddns-update-style none;
    ignore client-updates;

    subnet 172.16.1.0 netmask 255.255.255.0 {

    option routers 172.16.1.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 8.8.8.8;

    range dynamic-bootp 172.16.1.20 172.16.1.30;
    }



    Guardamos el archivo. Ahora tenemos configurado correctamente todas las opciones que requería nuestro servidor. Seguimos sin poder ejecutar el servicio debido a que no hemos configurado la dirección IP del interfaz a usar, pero lo arreglamos enseguida.

    PD: Las dos primeras líneas (ddns-update-style y ignore client-updates) vienen a decir que no queremos actualizaciones dns e ignoraremos las peticiones de clientes queriendo renovar su dirección IP local.

    (Corrección hecha por el usuario Juan Ortega. Comentario más abajo. Gracias por la ayuda)
    Si tenemos un equipo al que le queremos dar una IP fija, añadimos la siguiente línea:

    host (nombre máquina abreviado) {
    option host-name (nombre máquina completo);
    hardware ethernet (dirección mac);
    fixed-address (dirección ip que le damos);
    }

    El nombre abreviado o completo de máquina lo pueden poner como quieran.

    Nota: la dirección IP que le demos debe estar en la subred o subredes del servidor DHCP que definan.

    2. Configurar las interfaces eth0 y eth1

    Las interfaces eth0 y eth1, por lo general, tendrán diferente rango de direcciones IP:

    • eth0: Deberá llevar la dirección que pusimos en option-routers, ya que CentOS es nuestro servidor y puerta de enlace para la red local.
       
      • Bloque de direcciones a usar:
        • Dirección IP: 172.16.1.1
        • Máscara de subred: 255.255.255.0
        • No requiere de gateway ni DNS.
    • eth1: A gusto del consumidor. Yo utilizaré un modelo DHCP, ya que usaremos CentOS solo para enrutar la red local y servir como filtro y eth1 se conectaría a un router ADSL, pero si necesita ser implementado como red fija, especificaré donde proceda.

    En CentOS, las configuraciones de las interfaces de red no se hacen por ifconfig de forma general. En su lugar, lo haremos más eficiente.

    Hay dos modos:

    • Usando la Utilidad de configuración en modo texto (setup). Se ejecuta poniendo en la línea de comandos  # setup. Es más fácil de manejar.
    • Editando los archivos de configuración. Se encuentran en /etc/sysconfig/network-scripts/ y su nombre es ifcfg-ethx, donde x es el número de conexión
    Setup es una sencilla herramienta semigráfica que mediante un menú intuitivo nos permite configurar las interfaces fácilmente.

    La edición de los ficheros de configuración se puede realizar utilizando Vim o Nano, el que más rabia os dé.

    El fichero de configuración será algo así para eth0:

    # (Controlador del adaptador de red)


    DEVICE=eth0
    BOOTPROTO=none
    ONBOOT=yes
    HWADDR=(Dirección MAC del adaptador)
    IPADDR=172.16.1.1
    NETMASK=255.255.255.0

    Para el fichero eth1, algo tal que así:


    # (Controlador del adaptador de red)


    DEVICE=eth1
    BOOTPROTO=dhcp
    ONBOOT=yes
    HWADDR=(Dirección MAC del adaptador)

    Si queremos especificar un gateway en cualquiera de los dos adaptadores, se añadirá GATEWAY=(Dirección del gateway). Si queremos añadir un servidor DNS, debemos cambiar el archivo de configuración ubicado en /etc/resolv.conf, y en las líneas que proceden escribir.

    nameserver (dirección DNS)


    Una vez modificados los valores de los ficheros de configuración y del Setup, debemos reiniciar el servicio para que la configuración tenga efecto. Para ello, escribimos:

    # service network restart

    Una vez realizamos la siguiente acción, la dirección de las dos interfaces se cambiará a la que hayamos configurado en el Setup o los ifcfg. Acto seguido, procederemos a iniciar el servicio dhcp, para así inicializar la red local. Para ello, en la misma consola, escribimos:

    # service dhcpd start

    PD: Si falla el inicio de dhcpd, revisa los ficheros de configuración  (generalmente es que falta un punto y coma, o algo mal puesto de nombre). Si no encuentras nada, existe un fichero en /var/log/messages que nos dirá lo que nos chirría de la configuración general de dhcp o cualquiera que estemos usando. Si falla alguna cosa, revisar este archivo es lo más conveniente. se ejecuta con:


    # cat /var/log/messages

    3. Enrutar los paquetes entre las dos conexiones (IP Forward y NAT)

    Hemos configurado las dos interfaces, pero aunque hayamos configurado, nos resulta un poco "inútil", debido a que aún nos falta realizar el enrutamiento y el seguimiento de paquetes entre interfaces. Para ello, debemos activar el IP Forward y establecer NAT para realizar un enrutamiento exitoso.

    • Activar IP Forward: Para activarlo, tenemos que editar el fichero /etc/sysctl.conf, y en la línea denominada

      net.ipv4.ip_forward = 0

      Editar el 0 por un 1. Reiniciar el servidor CentOS para que los cambios hagan efecto.

    • Establecer NAT como configuración de enrutamiento: Por sí solo, el IP Forward no sirve de nada si no ejecutamos una excepción en iptables para añadir una "ruta" interna entre ambas interfaces y así poder enrutar.

      Para ello, en la consola, escribimos:

      # iptables -F
      # iptables -t nat -F


      Estos dos primeros comandos son para limpiar las configuraciones.

      # iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -d 0/0 -j MASQUERADE
    Una vez realizado ésto, CentOS podrá enrutar los paquetes que le lleguen desde eth0 a eth1 y así, dar acceso a Internet a la red local en DHCP que montamos anteriormente.

    4. Establecer las políticas de filtrado (iptables).

    Una vez todo está funcionando, es posible que solo queramos que estén abiertos determinados puertos, o denegar el acceso a un usuario concreto, permitir que pase información de un puerto... Para ello, CentOS y su iptables (cortafuegos) nos podrán ayudar para establecer qué dejamos o no pasar a través de la red.

    Lo primero de todo, antes de establecer filtros, vamos a eliminar la configuración antigua del cortafuegos. Para eso, teclearemos los siguientes comandos:


    # iptables -F (Borra todas las reglas de iptables)
    # iptables -X (Igual que -F)
    # iptables -Z (Pone el contador de paquetes de iptables a cero)
    # iptables -t nat -F (Borra la regla de enrutamiento NAT anterior)

    Una vez tecleamos todos estos comandos, procederemos a disponer nuestra propia configuración. Por ejemplo:

    • Permitiremos acceso a los puertos de Internet básicos (80 y 443, HTTP y HTTPS)
    • Permitiremos un puerto de conexión segura (22, SSH)
    • A un equipo le daremos acceso total.
    Para empezar, restauraremos la última línea de cuando usamos NAT en el servidor:

    # iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -d 0/0 -j MASQUERADE

    Para que el servidor acepte y reenvíe paquetes, debemos aceptar las políticas de uso (INPUT para enviar paquetes, FORWARD para enrutar, y POSTROUTING para enviar a la ruta)


    # iptables -P INPUT ACCEPT
    # iptables -P FORWARD ACCEPT
    # iptables -t nat -P POSTROUTING ACCEPT


    Para aceptar las políticas de HTTP y HTTPS, añadiremos la siguiente línea:

    # iptables -A FORWARD -s 172.16.1.0/24 -p tcp --dport 80 -j ACCEPT
    # iptables -A FORWARD -s 172.16.1.0/24 -p tcp --dport 443 -j ACCEPT

    Para aceptar el SSH, añadiremos la siguiente línea:

    # iptables -A INPUT -s 172.16.1.0/24 -p tcp --dport 22 -j ACCEPT

    Para rechazar los paquetes de un determinado número de puerto. 

    # iptables -I INPUT -s 172.16.1.0/24 -p tcp --dport (puerto cualesquiera) -j DROP

    Para el acceso total a un equipo, añadiremos la siguiente línea. Como ejemplo, pondré el 172.16.1.2

    # iptables -A FORWARD -s 172.16.1.2 -j ACCEPT

    Para consultar todos los cambios hechos, ejecutamos:


    # iptables -L


    Para guardar la configuración, ejecutamos:


    # iptables-save


    Nota: Para las reglas iptables, es más recomendable usar un script, para ejecutar todo a la vez y no uno a uno.

    Siguiendo estos pasos, conseguiremos tener nuestra propia red local con un CentOS como router.

    Fuentes:
    Redes de Área local. Aplicaciones y Servicios Linux [Formación del profesorado]. Instituto de Tecnologías Educativas.
    Experiencia propia.

    Revisión de artículo: Octubre de 2013
    Razón: Corrección del contexto. Adición de la cláusula de rechazo de paquetes. Corrección de la cláusula de IP fija gracias al comentario de un usuario.

      martes, 6 de diciembre de 2011

      Modificar el prompt de Windows

      El "Prompt" propiamente dicho es el conjunto de caracteres que se muestran en una línea de comandos y que puede ejecutar órdenes. Básicamente, el prompt es la línea que aparece cuando abrimos una línea de comandos en Windows o Linux y como tal se muestra así:

      • Linux: usuario@máquina:~$ o usuario@máquina:~# si es superusuario (root)
      • DOS y Windows: C:\>
      En Linux, el prompt de usuario se puede cambiar modificando la .bashrc del usuario. Por el momento, llevo investigando tiempo intentando modificarlo sin resultados esperados o positivos. Si consigo hacerlo posible lo compartiré con vosot... con el que lea éste artículo, si es que lo va a leer alguien, claro.

      En Windows, el prompt sí puede cambiarse de manera fácil y sencilla. Existen dos métodos:

      • En la sesión actual:

        En la línea de comandos, escribimos prompt y después la cadena que queramos usar.
        Las opciones de la cadena son las siguientes:

        $A   & (Símbolo de unión)
        $B   | (barra vertical)
        $C   ( (Paréntesis izquierdo)
        $D   Fecha actual
        $E   Código de escape (código ASCII 27)
        $F   ) (Paréntesis derecho)
        $G   > (signo mayor que)
        $H   Retroceso (elimina el carácter previo)
        $L   < (signo menor que)
        $N   Unidad actual
        $P   Unidad y ruta de acceso actual
        $Q   = (signo igual)
        $S     (espacio)
        $T   Hora actual
        $V   Versión de Windows
        $_   Retorno de carro y alimentación de línea
        $$   $ (signo del dólar)

        Como ejemplo, pondré el siguiente:

        (hora del sistema)[Directorio en el que nos encontramos]$

        En el cual, la cadena exacta de todo ello es:

        ($S)[$P]$$

        Al final de la cadena, añadimos un espacio en blanco, ya que si ponemos todo tal cual los caracteres que introduzcamos aparecerán justo después del $, todo junto.

        La cadena será:

        C:\Users\Administrador> prompt ($T)[$P]$$(espacioenblanco)

        Automáticamente escribamos ésto, el prompt tendrá la cadena puesta. Por ejemplo:

        (00:00:00,00)[C:\Users\Administrador]$$
      • De forma permanente: Para establecer tu propio prompt personalizado, habrá que entrar en el regedit y añadir una clave a la siguiente cadena:

        HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

        En la carpeta, añadimos un valor de cadena en Edición>Nuevo>Valor de cadena. Se añadirá una nueva a la carpeta actual. Cambiamos el nombre de la cadena a Prompt y dentro escribimos la cadena que queremos tener.

        Después, reiniciamos el ordenador y aparecerá el nuevo prompt personalizado cada vez que inicies el cmd.

      Nota: Para modificar el regedit, se requieren permisos de administrador.

      Fuente:
      Blogs de informática sobre el tema.
      Experiencia propia.

      domingo, 4 de diciembre de 2011

      Desactivar la campana del sistema en CentOS

      En esta entrada voy a explicar cómo deshacerse de la tediosa Campana del sistema, o pcspkr, que la mayoría de los sistemas operativos basados en Linux carga en el kernel y puede llegar a resultar cargante para cuando trabajamos en modo texto.

      Hay dos modos para desactivarlo: Solo la sesión o definitivamente.

      • Sesión activa:

        Si queremos desactivar la campana del sistema solo en la sesión actual, debemos teclear en la terminal

        # rmmod pcspkr


        De esta forma, el sistema apaga el pcspkr y no sonará más la campana del sistema en la sesión. Si deslogueamos e iniciamos de nuevo, la excepción se quitará y el sistema volverá a emitir el sonido
      • Definitivamente:

        Para descartar definitivamente el controlador, podemos utilizar dos métodos:

        En consola de comandos, escribir:
        # rmmod -v pcspkr
        Que descarta el módulo pcspkr e inicia el ordenador sin sonido.

        Si no funcionase éste comando, modificamos el fichero /etc/rc.d/rc.local con vim o nano y añadimos la línea /sbin/rmmod pcspkr al final del documento
       De estas formas podremos desactivar el tedioso sonido de la campana del sistema.

      Fuente:
      Diversos blog de Linux sobre el problema

      Experiencia propia.

      jueves, 1 de diciembre de 2011

      Windows 7, Windows Server 2008 y "Adaptador de túnel Conexión de Área Local *X" [Solución]

      Este bug se basa en un fallo en la tarjeta de red inalámbrica. Dicho fallo tiene su base en el adaptador 6to4 de Microsoft (Dicho adaptador virtual es utilizado para los protocolos IP, el v4 y v6, un "túnel" de red, como indica el nombre de conexión) el cual se crea nuevamente al haber un fallo en el Virtual Wifi del equipo. Básicamente, viene a decir que si cerramos el ordenador antes que el servicio Plug & Play se desactive, cuando iniciemos de nuevo el ordenador, el servicio asignará un nuevo adaptador de túnel, dejando obsoleto al anterior. La cadena de nombre con la que aparece es

      Adaptador de Túnel Conexión de Área Local* 2

      Estado de los medios: Medios desconectados
      Sufijo DNS específico para la conexión:



      Adaptador de Túnel Conexión de Área Local*3

      Estado de los medios: Medios desconectados
      Sufijo DNS específico para la conexión:
      etc, etc.


      Para un usuario normal y corriente no tendría mucha repercusión. Éste problema es solamente visualizable a través de la herramienta ipconfig de la línea de comandos de Windows (cmd). Dicho error puede llegar a la creación de (según datos consultados por foros) hasta 52 conexiones de área local inútiles. Inicialmente esto no enturbia las conexiones normalmente, pero ciertamente, es un engorro el ejecutar ipconfig y encontrarte con hasta 52 conexiones, llenando todo el búfer del cmd. Personalmente, yo llegué a acumular hasta 27 adaptadores basura.

      Tras investigar por varios sitios de Internet, toquetear el registro de Windows (regedit), la consola netsh, revisar cientos de miles de veces los adaptadores conectados y no encontrar absolutamente nada, hace poco por fin encontré la respuesta.

      Primero me centré en buscar en el registro. Todo cambio que se haga nuevo en el ordenador, queda reflejado en el Regedit. Encontré las referencias de conexión de Área local en la ruta
      HKEYLM/SYSTEM/CurrentControlSet/Control/Network/ y la primera rama de números. Dicha rama tendrá aún más ramas con números, y dentro de cada rama una subcarpeta llamada Connection, en el cual aparece en una clave REG_SZ de nombre Name el nombre de la conexión basura. Eliminé todas las carpetas excepto las de Conexión de Área Inalámbrica y Conexión de Área local, y las correspondientes a VMware (En caso de que se tenga instalado). Reinicié y el fallo no remitía, de hecho, me generó de nuevo las carpetas.

      Investigué después en Internet, y ví que en el Administrador de dispositivos de Windows, podían consultarse todas las opciones respecto a los adaptadores de red del sistema. Consulté y las únicas que me aparecían eran las tres anteriores que no borré. En Internet aparecía también que hay algunos dispositivos (Por ejemplo, los adaptadores Teredo Tunneling Pseudo Interface, que no aparecen) que aparecen ocultos. en Ver, aparece la opcion de Mostrar Dispositivos Ocultos. Nada más acepté la opción, me aparecieron los 26 interfaces de red que mi ordenador había ido generando solos tras el fallo consecutivo del anterior. Además, me aparecían tres conexiones duplicadas, como Adaptador ISATAP de Microsoft.
      Se pueden borrar todos los conectores, excepto los Minipuerto WAN (Todos los que procedan), los adaptadores propios de nuestro ordenador, el ISATAP original y todos los propios que hayamos instalado con programas.

      De esta forma, podemos librarnos de todas las molestas conexiones inservibles que Windows 7 y Server 2008 generan por fallo al iniciar un ipconfig.

      También es de interés el comunicar que existe un programa que realiza esta acción de manera automática, pero al no fiarme demasiado y no probarlo, no puedo asegurar ni garantizar su funcionamiento. Si volviera a generarme las conexiones, posiblemente lo use para ver cómo va y ofrecer descarga.

      Hasta ahora, dicho fallo no ha sido solucionado por Microsoft.


      Nota: Hay que tener cuidado al manejar el administrador de dispositivos. Si por algún descuido eliminásemos un adaptador que sí nos hacía falta (Por ejemplo, el VPN de Hamachi o alguno de VMware), habría que reinstalar todo el programa.

      Fuente oficial de Microsoft donde hace referencia el fallo:
      http://support.microsoft.com/kb/980486/es

      Fuentes:
      Foros de Microsoft.
      Otros foros de Internet
      Experiencia propia

      sábado, 12 de noviembre de 2011

      Resolución de problemas de DHCP en tarjetas de red.

      En esta entrada, creada a partir de un problema cotidiano reciente, vamos a intentar solventar problemas relacionados con ordenadores clientes que no aceptan bien el protocolo DHCP sobre Windows y, por tanto, no navegan bien.

      En primer lugar, explicaré el proceso APIPA, uno de los pilares básicos en las redes de Microsoft, creado para la simplificación de redes locales sin salida a Internet.

      El proceso APIPA (Automatic Private IP Addresing) es un proceso por el cual una tarjeta de red, al conectarse a una red y detectar que no hay ningún servidor DHCP, se asigna a sí misma una dirección IP comprendida entre el rango 169.254.x.x, siendo X los valores que se asignará ella sola (sin colisionar con otros posibles ordenadores que estén conectados y con el mismo proceso) El proceso APIPA es ideal para cuando queremos tener una red sencilla entre dos ordenadores. No requiere de puerta de enlace ni servidores DNS y la conexión actúa entre dos nodos de red, así como la formación de redes locales sencillas.

      El proceso APIPA se da en sistemas Windows 98 en adelante. Es un sistema sencillo, sin complicaciones, pero tiene algunos problemas de depuración. Es eficaz por una parte, pero ineficaz por otra. Sencillez y no complejidad, pero problemas para depurar errores presentes.

      A veces, el proceso APIPA nos puede acarrear ciertos problemas, como por ejemplo que la tarjeta de red se ciña siempre a realizar el proceso APIPA aunque haya un servidor DHCP activo, por mero protocol de actuación. Ésto nos puede inducir a que pensemos que tenemos problemas con la interfaz o que nuestro ordenador está dando las últimas agonías. Pero no.

      Pongamos un escenario no muy diferente de la realidad:

      Tenemos un router ADSL y nuestro PC. EL router ADSL puede ser de cualquier marca o compañía, pero el ordenador tiene de Windows 98 en adelante (Para adaptarnos a los tiempos que corren, digamos por ejemplo un Windows 7). Conectamos el PC al router pero el proceso APIPA siempre interfiere y nos da fallo. La IP fija no funciona tampoco porque el proceso APIPA adquiere un fallo y se ciñe más al mismo que a la configuración que le intentamos poner.

      Hay tres posibilidades:
      • APIPA se queda pillado y se ciñe siempre a ese protocolo.
      • El servicio de cliente DHCP está desactivado
      • La tarjeta de red tiene mal los drivers

      Para solucionar el problema, debemos realizar dos sencillas operaciones:

      En primer lugar, "tirar" el adaptador (Deshabilitar y volver a habilitar)
      En segunda, interrumpir el proceso APIPA mediante la liberación de la IP y, después, renovar la dirección IP

      Para realizar el primer paso, nos vamos a Conexiones de Red o Centro de Redes e Internet, varía según la versión de Windows que usemos. Una vez encontremos el adaptador, lo deshabilitamos y después lo volvemos a habilitar. Esto puede resultar un poco banal, porque, pensémoslo ¿Para qué reiniciar el adaptador si el proceso APIPA seguirá activo una vez lo activemos de nuevo? Por si acaso. En la informática, como en todo, nada es seguro y todo es probable.

      Si el primer paso no solucionó el problema, podemos intentar el segundo.

      Para ello, abrimos un Símbolo del sistema. En Windows XP y Vista es en Inicio > Ejecutar y escribimos cmd.

      En Windows 7, en Inicio -> Todos los programas -> Accesorios -> Símbolo del sistema.

      Una vez estemos ahí, introducimos el comando ipconfig /release para liberar la dirección IP del proceso APIPA. Una vez lo hagamos, el adaptador estará totalmente libre de direcciones IP y el proceso APIPA se cortará.

      Dado que ahora la interfaz de red no tiene ninguna dirección de red, procedemos a pedir que consulte al servidor DHCP y que le dé un alquiler nuevo. Para ello, introduciremos el comando ipconfig /renew.

      Si por algún motivo el adaptador siguiera sin renovar direcciones IP y se siguiera ciñendo a APIPA, podría ser que el servicio de Cliente DHCP de Windows esté desactivado. En este caso, en Ejecutar de nuevo, escribimos Services.msc para iniciar el programa gestor de servicios.

      Si el servicio está desactivado, debe poner Detenido. Botón derecho sobre el servicio y Iniciar. Para establecerlo como automático, en Propiedades, y en modo de inicio, Automático.

      Si el servicio DHCP está activado y aún así sigue dando problemas de éste estilo, podemos intentar reinstalar los controladores de la tarjeta de red. Para ello, en el Administrador de dispositivos.

      Windows XP: Panel de control, Herramientas administrativas, Administrador de dispositivos
      Windows Vista y 7: Panel de control, Hardware, Administrador de dispositivos

      Seleccionamos nuestra tarjeta de red, y en propiedades, Actualizar controlador. Si sigue sin funcionar, Consultamos al fabricante los controladores o tiramos de Google para buscarlos y reinstalarlos. Para ello, en el Administrador de dispositivos, desinstalamos el controlador antes de instalar otro de nuevo, de lo contrario no lo realizaría.

      Si sigue fallando aún realizando todo lo anterior, podría ser un problema de hardware. Consulta al vendedor para más información.

      Fuente:
      Experiencia realizada en clase
      Algunos problemas cotidianos.

      Nota: En unos días procedere a actualizar ésta entrada para hacer una edición más resuelta.

      martes, 8 de noviembre de 2011

      Recuperar la contraseña de superusuario (root) [Sólo emergencias]

       Las distribuciones basadas en UNIX tienen como particularidad que todas ellas comparten un usuario único y que tiene una total administración de los ficheros y de todas las configuraciones del sistema.
      Dicho usuario es el llamado superusuario, superuser o comúnmente llamado root.
      Cuando intentamos instalar algo nuevo en el sistema, sea cual sea, siempre hay que usar la clave de root para acceder, o que el usuario en el que estamos trabajando tiene acceso siempre que esté en el fichero /etc/sudoers. Aun así, siempre prevalecerá mucho más el superusuario root.

      Aunque root sea un usuario especial, en ocasiones puede existir la posibilidad de que queramos acceder al superusuario y no recordemos la contraseña, bien sea porque hacía tiempo que no iniciábamos el sistema o bien para otros usos.

      Por ello, existe un método para quitar la contraseña de root. Al iniciar el login de root, no pedirá la contraseña y será totalmente accesible al ordenador



      Por defecto, al instalar un nuevo sistema operativo bajo Linux, el sistema operativo tiene deshabilitada la cuenta de root como tal. Sí se puede entrar como superusuario con el comando sudo bash, pero para entrar como usuario root se le debe asignar antes una contraseña con el comando passwd.

      Importante: El método aquí explicado es para recuperar la contraseña. Cualquier uso del presente artículo de forma maliciosa es bajo su responsabilidad total. Cada cual es libre de usarlo como quiera, bajo su propio riesgo.

      Pasemos a explicar cómo recuperar la contraseña.

      (Pruebas realizadas sobre sistemas Ubuntu y CentOS. Trataré de verificar resto de 
      sistemas)

      •  Con un Live CD: Los Live CD de ubuntu permiten al ordenador la capacidad de usar Linux sin modificar ni cargarse parte de espacio del disco duro. Asímismo, el disco Live permite también acceder al sistema de ficheros del disco duro, lo que nos lleva a que podemos modificar cualquier archivo del mismo sistema como si de root se tratara.

        Para eliminar la contraseña, debemos acceder a la carpeta /etc y buscar el archivo shadow. Dicho archivo guarda las contraseñas encriptadas de todos los usuarios del sistema. Generalmente, la contraseña aparece con encriptación, y, eventualmente, el usuario root será el primero. Ejemplo:
        root:$1$N9L1HjIf$.YbfoPCCZmrqemk4zwYUb4:13918:0:::::0
        
        - root: nombre de usuario
        - $1$N9L1HjIf$.YbfoPCCZmrqemk4zwYUb4: contraseña encriptada
        - resto de campos: algunos permisos sobre la contraseña (Hace cuantos días
        se cambió, cuántos faltan para cambiarla.
        Para restablecer la contraseña, hay que borrar el campo de la misma. Con Vim, Nano o
        cualquier otro editor, lo borramos. Debe quedar algo así:
        
        
        root::13918:0:::::0
         
        Guardamos el fichero y reiniciamos el ordenador. Ahora, cada vez que iniciemos el usuario
        root, se iniciará sin pedir contraseña. En el caso de pedirla, basta con pulsar la tecla
        Enter y entrar.
         
      • Entrando en el sistema en el runlevel 1 o single: El runlevel 1 o single es un nivel especial del sistema que permite realizar cambios como si de un un superusuario root se tratara. Para hacerlo más efectivo, se puede recurrir al mismo método que el que usamos para el Live CD, pero también podemos usar el comando passwd root y cambiársela. Para gustos los colores.

        Para entrar en el Runlevel 1 hay varios métodos. En artículos anteriores expliqué como realizarlo en CentOS.

        Para entrar en el Runlevel 1 en Ubuntu habrá que hacerlo a través del GRUB. Hacer el montaje de la unidad de sistema como rw y no como ro, y especificar al final de la misma línea el comando init=/bin/bash
      Fuente:

      Foros varios sobre Linux.
      Experiencia de clase.
      Trasteos con el sistema.

      martes, 1 de noviembre de 2011

      Niveles de ejecución en núcleos UNIX (Init)

      En la mayoría de distribuciones basadas en el núcleo UNIX, así como los distintos sistemas operativos derivados, comparten entre sí la complicidad de ser sistemas multiusuario y multitarea. Dicha función también radica en que tienen el mismo proceso de carga de núcleo y sistema.

      Dicho sistema de arranque puede ser alterable.

      Los sistemas UNIX ofrecen varios niveles de ejecución de Kernel o INIT. Éstos niveles, también llamados Runlevel, ayudan a que un usuario elija qué nivel quiere iniciar: Si solo quiere interfaz gráfica, o línea de comandos, o quiere iniciar la línea de comandos con unos determinados servicios, o la interfaz gráfica con todo completo.

      Los niveles básicos de ejecución (y los más extendidos) de un kernel Linux/UNIX son:

      • 0 : Nivel HALT. Es el nivel de apagado del sistema
      • 1 : Nivel monousuario. Se realiza para tareas de mantenimiento del ordenador.
      • 2 : Nivel multiusuario sin soporte de red, por línea de comandos.
      • 3 : Nivel multiusuario con soporte de red, por línea de comandos.
      • 4 : Nivel no ocupado. 
      • 5 : Multiusuario gráfico con soporte de red. Es el nivel 3 añadiéndole el Display o X-Server.
      • 6 : Nivel REBOOT. Reinicio del sistema.

        PD: Estos niveles pueden ser diferentes dependiendo de la distribución que se use. Éstos, por ejemplo, son los más extendidos en Red Hat, CentOS, Fedora, Ubuntu.
      Los niveles de ejecución albergan también los servicios que ejecuta cada determinado INIT. Es posible que en el nivel 5 tengamos un servicio que no se ejecute en el nivel 3. Todo ello es configurable con el comando chkconfig. Con este método, podemos hacer un uso más selectivo de la memoria dependiendo del runlevel.

      Existen dos métodos posibles para iniciar un runlevel en un sistema UNIX: Antes de la ejecución del Kernel o después.

      (Probado en CentOS las siguientes variables. Confirmaré cuando tenga datos de otros sistemas operativos y sus variables)

      •  Antes del inicio del Kernel: Se modifica la línea de Grub del Kernel. Si por ejemplo la línea del Grub correspondiente al Kernel es tal como:

        Grub > Kernel (Línea de iniciación del Kernel) Número de init a iniciar

        Ejemplo
        para iniciar el nivel 3

        Grub > Kernel (Línea de iniciación del Kernel) 3

        Éste método viene mejor para el nivel 1. Así, por ejemplo, si perdiéramos la contraseña del sistema, cambiado el nivel de ejecución podríamos asignarle una nueva sin pérdida de datos

      •  Después del inicio del Kernel: Una vez iniciado el sistema, sea en cual sea el tipo de inicio que se le haya transmitido, en una línea de comandos escribimos como superuser

        # init (nivel de ejecución)
      Hemos aprendido a hacer que un runlevel nos funcione en el sistema de una forma fácil e intuitiva, pero con una pequeña pega: Los anteriores ejemplos solo sirven para ése inicio, con lo que el cambio de init es solo temporal. Una vez el ordenador reinicie seguirá ejecutándose en el predeterminado del sistema. Para cambiar este parámetro y, por ejemplo, ejecutar siempre la línea de comandos o cualquier otro nivel:

      (Sistemas CentOS)
      • Entramos como superuser en el sistema
      • En la carpeta /etc, buscamos el archivo Inittab
      • Con Vim, Nano o cualquier otro editor de texto, Modificamos la línea por defecto.
        # Default runlevel.
        id:X:initdefault:

        Donde X es el número de init a arrancar.
      • Guardamos. Una vez reiniciemos el sistema, arrancará en el INIT que hayamos pedido como predeterminado.
      (Sistemas Ubuntu)

      • Entramos como superuser en el sistema
      • En la caperta /etc/init, buscamos el archivo gdm.conf
      • Con Vim, Nano o cualquier editor de texto, Añadimos después de la línea "start on", en los paréntesis, runlevel [3], debiendo quedar algo tal como

        start on (runlevel [3] ...).

        Si queremos deshabilitar por completo el entorno, en vez del anterior, agregamos el siguiente

        start on (runlevel [ ] ... )
      • Guardamos y reiniciamos el ordenador. 
      Nota: Antes de modificar cualquier fichero de éste tipo, debemos hacer previa copia de seguridad, para por si acaso fallase y podamos tener un fichero de restauración del sistema.
        Fuente:
        Experiencia realizada en clase.
        Wikipedia y su sabiduría

          miércoles, 26 de octubre de 2011

          Editor Vim

          Linux y la mayoría de sus distribuciones (Fedora, Ubuntu, Red Hat, Debian) son sistemas de código abierto y que permiten tanto el entorno gráfico como línea de comandos. Todas las distribuciones Linux traen consigo el programa Terminal, una pequeña aplicación que permite al usuario interactuar con el sistema y poder gestionar desde él todo el ordenador.

          Al inicio de la época de los primeros sistemas operativos de Linux, no existía una interfaz gráfica como GNOME o KDE, si no que la interacción con el sistema era con la línea de comandos. Para la completa administración del núcleo y los ficheros de configuración del sistema operativo, debía existir un programa editor de texto para modificar los archivos de configuración.  

          Vi fue el primer editor sobre una terminal. Permitía la modificación de texto interactuando únicamente con el teclado (Dado que en aquella época aún no se usaba el ratón).

          Vi mejorado (en adelante, Vim) es la versión mejorada del editor Vi, pero sigue conservando el exclusivo uso del teclado para su edición. Vi y Vim, por así decirlo, son programas de evolución, con la excepción de que el editor Vim es una "imitación" de Vi y no se podría considerar oficial. A pesar de estos pequeños apuntes, Vim sigue ofreciendo la misma interfaz y edición como si del propio Vi se tratara.

          Si Vim fuera instalado habiendo una instalación existente de Vi, los archivos que se editaran en Vi, así como con el comando # vi (archivo), en realidad se realizarían en Vim, ya que se instala machacando el programa Vi para usar como predeterminado el Vim.

          Vim, además de ser un nuevo editor que se compatibiliza casi en su totalidad con Vi, también ofrece un pequeño tutorial preinstalado con el sistema operativo. Su nombre es vimtutor y es un pequeño programa que nos facilita el aprendizaje para movernos en el editor y poder rehacer cualquier archivo o modificarlo a nuestro antojo.

          Como pequeño apunte, pondré en este pequeño tutorial algunas de las opciones que más destacan de éste programa, para su fácil interactuacion con el usuario novel y como pequeños apuntes.

          BLOQUE I: Familiarización con el editor.

          - Movimiento

          Al contrario de lo que mucha gente considera de carácter básico, Vi se diseñó en un primer momento sin la actuación de las flechas de movimiento que incorpora los teclados actuales. La actuación para moverse por el texto era con cuatro letras del teclado. Las teclas son:

          • Desplazamiento hacia arriba: Tecla K
          • Desplazamiento hacia abajo: Tecla J
          • Desplazamiento hacia izquierda: Tecla H
          • Desplazamiento hacia derecha: Tecla L
          - Entrar y salir de Vim

          Aunque parezca algo básico, muchas veces el Ctrl + Z que seleccionamos para salir de ejecución en una terminal no nos hace salir completamente del proceso, y podría quedarse en segundo plano. Vim tiene un uso totalmente sencillo de su edición, con lo que conocer cómo modificar archivos o entrar y salir sin problemas son grandes objetivos a batir.

          Para hacer algún tipo de cambio en el fichero con respecto a su gestión (Ya sea guardarlo, salir sin guardar, o reemplazarlo), el usuario debe usar la tecla de dos puntos (:) en el modo normal, más una variable. Así, por ejemplo, para salir de Vim y el fichero que estamos modificando, se utilizará :q! (quit) para salir SIN GUARDAR CAMBIOS en el fichero a editar. Para salir guardando datos, se debe introducir la variable :wq de Write y Quit.

          NOTA: Si por algún error pulsásemos Ctrl + Z y no supiéramos volver al archivo que estábamos editando, en la misma terminal escribimos jobs, y el proceso de Vim tendrá a la izqda un número, seguido de la palabra Stopped o Detenido. Para recuperarlo, hay que escribir fg y el número que corresponda.

          - Edición del texto.

          • Eliminación de texto: En modo normal, para eliminar texto, posicionamos el cursor sobre el carácter que queramos borrar y pulsamos la Tecla X. Esto borrará el carácter que estaba posicionado en el cursor.

          • Inserción de texto: En modo normal, para insertar texto, pulsamos la Tecla i para insertar texto. Una vez dentro del modo de edición de texto, están disponibles Todas las teclas de carácter, esto es, las teclas de cursor y la de borrado están operativas para escribir. Para salir del modo de inserción, pulsamos la Tecla Esc.
          BLOQUE II: Edición de texto.

          Vim ofrece opciones para borrar texto sin necesidad de entrar al modo de insertar o pulsar abusivamente la tecla x. Veamos algunas de sus otras opciones.

          - Borrar palabras completas.

          Para borrar una palabra entera, se debe ir sobre la palabra a borrar (Da igual si el cursor está situado en el inicio o final de la palabra) y pulsar primero la tecla d y luego la tecla w. Así, pulsando dw encima de una palabra se borrará hasta el último espacio enfrentado con la siguiente palabra. Sin embargo, si se pulsa primero la tecla d y luego la tecla e se borrará la palabra antes del último espacio (oseáse, la primera borra la palabra y el último espacio para la siguiente palabra, y la segunda la palabra sin tomar en cuenta el espacio)

          - Borrar toda una línea.

          Para borrar toda una línea de texto, nos posicionamos con el cursor sobre la línea que queremos editar y pulsamos dos veces la tecla d. De forma secuencial, también se pueden borrar x líneas si maracamos antes de la acción dd el número. Así, si por ejemplo queremos borrar dos líneas, pulsamos 2dd y se borran las líneas siguientes de donde estaba marcado el cursor.

          - Cambiar una parte de las palabras.

          Hemos aprendido a borrar palabras completas, pero ¿Y si queremos modificar una palabra desde un extremo hasta el final de la misma, cargándonos el resto? (Asi como por ejemplo, tenemos escrita la palabra rosawfs y queremos que ponga rojo, no es un ejemplo muy usual, pero se puede dar). Para modificar una palabra de ésta forma, se usa la combinación cw (Primero tecla c y luego tecla w). Una vez que tenemos modificada la palabra, pulsamos la tecla ESC.

          - Cambiar frases.

          De la misma forma que podemos cambiar una parte de las palabras, también podemos cambiar una parte de la línea en la que estemos. Así, por ejemplo, queremos modificar una línea de texto desde una parte escrita hasta el final. Para ello, pulsamos la tecla c  y la tecla de atajo $ (en la distribución de teclado español, tecla Shift y tecla de número 4 de arriba). Así, el atajo sería c$.

          También se puede cortar y pegar una frase únicamente. Bastará con usar el comando dd, para borrar la línea a modificar, y luego en la línea que queramos ponerla, pulsar la tecla p (En modo normal en ambos casos). Si borramos una línea despues de la que queríamos pegar antes de hacerlo, no funcionará. La última línea borrada se guarda en el búfer, y se debe pegar antes de limpiar el búfer de nuevo.


          Éstos serían los atajos y ediciones más simples y conocidos del Vim. Con este pequeño resumen no tendríamos mucho problema para manejar Vim en una consola de comandos.

          Fuente:
          Programa vimtutor, integrado en el paquete de Vim.
          Algunas notas marcadas por mí.
          Experiencias usando el programa.

          NOTA: Vim tiene infinidad de opciones más, pero aquí solo están destacadas las más básicas. Si tiene alguna sugerencia y quiere preguntar dudas, o cree que se me escapa algo importante, avisen por comentario y reeditaré el documento ajustándolo a las exigencias.

          lunes, 3 de octubre de 2011

          Optimización del ordenador.

          Muchas veces habréis notado que al iniciar el ordenador, bien sea portátil o fijo, el ordenador carga muchos programas y ejecuta un número abusivo de procesos, ocasionando que algunas veces el sistema operativo nos cargue de manera muy lenta, y que en ocasiones eclipse toda la memoria RAM por un corto espacio de tiempo o que el procesador no sea capaz de ejecutar todo bien.

          Existen muchos programas para optimizar el ordenador (TuneUp, CCleaner, por ejemplo, los más destacados dentro de su categoría), pero existen también bastantes herramientas que nos vienen preinstaladas dentro del sistema operativo Windows.

          Hoy, vamos a configurar las aplicaciones que carguen en el arranque y "recortar" algunos servicios de Windows para conseguir acelerar el sistema, o bien para no acumular demasiados programas ejecutándose en segundo plano y que en ocasiones son inservibles.

          NOTA: Los programas, servicios y resto de aplicaciones nombradas aquí pueden variar dependiendo del fabricante o la versión del sistema operativo que tengamos.

          - MSCONFIG (Quitemos cosillas del arranque, agilicemos nuestro Windows)

          Msconfig es un programa que trae consigo el sistema Windows. Se define como la utilidad de configuración del sistema. Desde él podemos modificar los programas que se inician en el arranque del sistema, y que aparecen con frecuencia en la barra de tareas (al lado del reloj), modificar los servicios activos e inactivos del sistema o modificar el archivo Boot.ini. Por el momento, nos centraremos en modificar los programas del arranque.

          Para iniciar la utilidad, en Ejecutar del menú inicio (Para sistemas Windows 7 o Vista, si no aparece, en Todos los programas, Accesorios y Ejecutar) y escribimos msconfig. Se nos abrirá una pequeña ventanita desde la cual podemos ver las distinas pestañas que trae consigo para modificar el sistema. En las pestañas, seleccionamos la pestaña de Inicio (en W7 y Vista, Inicio de Windows) y modificamos aquéllos programas que no queramos ejecutar en el inicio.

          Como pequeña guía para no producir errores catastróficos en el sistema, recomiendo:

          • No desactivar ningún programa que se encuentre en la carpeta C:\Windows o en sus subcarpetas si no se sabe lo que se está quitando.

          • Tampoco es recomendable quitar algunas características que podamos considerar vitales o tengamos indicios de que podrían dar fallos. Las tarjetas gráficas de Intel, por ejemplo, tienen tres registros en el Inicio de Windows, y desactivarlo podría dar un error.

          • Algunos programas, como Groovemonitor (Office), Google Update, Adobe Reader, Adobe Acrobat o de este estilo sí se pueden quitar sin problemas.

            En la mayoría de los casos son aplicaciones que se inician en el arranque para comprobar actualizaciones del sistema o ejecuciones en segundo plano que podrían ralentizar mucho el arranque. Pueden desactivarse sin mayor problema.

          • Si nuestro programa antivirus se encuentra en la lista de programas de Inicio, o algunos programas relacionados con la controladora de vídeo, sonido o el touchpad del ordenador (portátiles), obviamente no desactivarlos para que el ordenador pueda iniciarse con normalidad.
          Una vez modificada la tabla de inicio de aplicaciones, pulsamos en Cerrar. El ordenador pedirá reiniciar, a lo que podremos posponer el reinicio o hacerlo efectivo cuando lo dice. Libre decisión del usuario.

          - Services.msc (Dieta de servicios, aligeremos peso)

          Services.msc es el programa gestor de los servicios que se están ejecutando en el ordendor y son visibles en la pestaña Servicios del Panel de control. Desde esta aplicación podremos deshabilitar aquellos servicios que se estén iniciando en nuestro sistema operativo, pero realmente los queramos omitir para optimizar el sistema.

          De todos es sabido que Windows incorpora muchos servicios que en la mayoría de los casos no les damos uso y se acumulan como pequeños estorbos que impiden que el ordenador se inicie rápido. Con la evolución de los sistemas operativos se han ido añadiendo aún más servicios a nuestro sistema, condicionado a que los ordenadores actuales ya incorporan una gran cantidad de memoria RAM y procesador. Pero como algunos sabemos, no todo en la vida es dejar que nuestro sistema corra lento, así que he elaborado una pequeña lista recopilada de diferentes sitios con servicios fácilmente prescindibles. A saber:


          •  Lista de servicios de XP (Release 2012-11):
            Servicios XP (Provisional)

             
          • Lista de servicios de Vista y 7 (Release 2012-11):
            Servicios Windows 7

            PD: Estas listas están elaboradas propiamente por mí. Si existen error, comunicadmelo.

          Como método obvio, también desactivaremos servicios de programas que hayamos instalado. Google, Telefónica y Vodafone si utilizamos internet móvil, VMware y otros que intuyamos que no necesitamos.

          Nota: Antes de desactivar un servicio, debemos asegurarnos que realmente no interfiere en el uso del ordenador o puede provocar una inestabilidad. Si en algún momento se duda sobre si un servicio es problemático, busca en Google información del mismo y decide si es prescindible o no. De todas maneras, en los Docs que adjunto, vienen una pequeña explicación y observación de los servicios, como ayuda adicional al usuario final.

          Nota, a 2012-11: He actualizado los Excel. Ahora son "oficiales". Probados en un innúmero de ordenadores, cedidos para aumentar su velocidad.

          - Liberador de espacio en disco de Windows.

          Ésta aplicación nos permite limpiar algunos datos innecesarios en nuestro sistema operativo. Tiene fácil uso, así que no discurriré mucho más. Seleccionamos la casilla de lo que queramos limpiar y ejecutamos "Borrar datos seleccionados".

          - Desfragmentador de disco de Windows.

          Tampoco tiene un misterio considerable. Seleccionamos la unidad de disco que queremos analizar o desfragmentar. Primero el sistema la analizará comprobando si es necesario la desfragmentación. Si lo es, pedirá al usuario que lo haga. Si por el contrario, no es imprescindible, dará la opción de hacerlo o no.


          Fuentes:
          Página web de Microsoft.
          Blogs de seguridad informática.
          Experiencia usando los diversos programas.

            lunes, 26 de septiembre de 2011

            Herramientas básicas en redes.

            Esta entrada la quiero dedicar al uso de algunos comandos que nos pueden resultar, bien en mayor o menor medida, útiles para el conocimiento de cualquier usuario que lo requiera.

            La mayoría de las aplicaciones son de Windows.

            - Ipconfig

            Ipconfig es la herramienta básica para la monitorización del estado de nuestras tarjetas de red, así como conocer la dirección IP, máscara de red, puerta de enlace, servidores DNS que estamos usando y la dirección MAC de la tarjeta que estamos utilizando para una determinada conexión, así como otras opciones (Para más info, abre una línea de comandos y escribe ipconfig /?)

            Como la utilidad tiene demasiadas opciones, destacaré solo las más usadas:

            • ipconfig /all: Muestra toda la información de las interfaces que está usando el ordenador.

              Datos que obtiene de cada interfaz:
              Dirección IP, máscara de red, puerta de enlace, dirección MAC, servicio DHCP, dirección fisica.
            • ipconfig /displaydns: Muestra la caché DNS de todas las interfaces

              Info: La caché DNS registra las últimas direcciones que se han solicitado al servidor DNS. La caché DNS tiene una pequeña "trampa": No se borran los datos de ella si se elimina todo el rastro del navegador web. A veces, es el último recurso que se puede usar para saber los registros de direcciones web del ordenador.
               
            • ipconfig /flushdns: Borra la caché DNS de todas las interfaces
            • ipconfig /renew y ipconfig /release: El primero renueva la dirección IP que usa en la red local el ordenador. El segundo, la libera.
            - Getmac

            Getmac es una herramienta que, una vez introducida en la línea de comandos, te devuelve las direcciones MAC de los adaptadores que estés usando en ése momento. Es una alternativa a introducir ipconfig /all para cuando únicamente quieres sacar la dirección MAC y no toda la configuración asignada a la tarjeta de red.

            La única inconvencia destacable en esta herramienta es que no te empareja qué dirección MAC tiene un medio predeterminado (Por ejemplo, no te dice que la tarjeta Ethernet cableada tiene esta mac).

            Si por ejemplo estamos usando Ethernet cableado y no Wi-Fi, te devolverá dos direcciones: Una de ellas te pondrá Medios desconectados (ésta será la tarjeta Wi-Fi sin conectar a ningún AP) y la otra te pondrá algo como "\Device\Tcpip_{numeros}. Si estamos usando dos o más medios a la vez (Por ejemplo, que nuestro equipo sea un servidor con varias tarjetas) habrá que recurrir a ipconfig /all para diferenciarlas mejor


             - Ping

            Ping es la herramienta más usada en todos los ordenadores conectados en red. Su funcionamiento es sencillo: Envía un paquete ICMP a la dirección IP que se le especifique. El contenido es irrelevante, pero para la gente curiosa, los datos enviados son 32 bytes, y son, ni más ni menos, que el abecedario, así, por ejemplo, los 32 bytes enviados, son, en realidad, las siguientes sucesiones de letras:

            abcdefghijklmnopqrstuvwabcdefghi - 32 bytes
            abcdefghijklmnopqrstuvwabcdefghijklmnopq - 40 bytes

            A estos datos también se les debe sumar los que asigne la cabecera TCP, puertos, dirección IP y demás.

            Los usos más comunes son, por ejemplo, para saber si alguien está en la misma red, o si un ordenador concreto le llegan los paquetes a otro.

            Cuando ejecutamos una orden de Ping pueden ocurrir dos cosas:

            • La conexión es satisfactoria. Mostrará algo parecido a:

              > Ping A.B.C.D
              Haciendo ping a A.B.C.D
              con 32 bytes de datos
              Respuesta desde A.B.C.D
              : bytes=32 tiempo=1ms TTL=128
              Respuesta desde A.B.C.D: bytes=32 tiempo=3ms TTL=128
              Respuesta desde A.B.C.D
              : bytes=32 tiempo=6ms TTL=128
              Respuesta desde A.B.C.D
              : bytes=32 tiempo=2ms TTL=128

              La explicación: Cuando haces Ping, envías paquetes de 32 bytes.
              Tiempo: Tiempo que tarda en enviar y recibir el paquete. Variable dependiendo del tráfico que maneje la red
              TTL: Tiempo de vida del paquete. También puede definirse como la cantidad de saltos que dará antes de que se destruya. Por ejemplo, 128 de TTL permite 128 saltos entre dispositivos como routeres, switch u otros ordenadores

            • La conexión no se realiza. En este caso, puede poner

              • Respuesta desde A.B.C.D: Tiempo agotado para solicitud: El paquete no ha llegado al router, o bien su tiempo de vida acabó y no pudo llegar de vuelta.
              • Respuesta desde A.B.C.D: Host de destino inaccesible: Puede ocurrir que el ordenador no esté en la misma red.
              • Error en la transmisión: Error general. La interfaz está desconectada de la red, e intenta hacer ping a una red inexistente.
            Las opciones dentro del comando Ping son pocas:

            • Ping A.B.C.D -t: Indica al programa que haga Ping de forma contínua. Si Ping se ejecuta normal sin la variable -t solo enviará 4 paquetes. Con -t los manda todo el rato uno detrás de otro.
            • Ping A.B.C.D -l x: Indica el tamaño de búfer del paquete a enviar. X es el valor que se quiera dar
            • Ping A.B.C.D -i x: indica el tiempo de vida del paquete. X es el valor que se quiera dar.
            • Ping -a A.B.C.D: mostrará el hostname del ordenador objetivo.
            - NSLOOKUP

            Nslookup  es una herramienta utilizada para la resolución de dominios en direcciones IP. Resumiendo, la aplicación Nslookup realiza una petición al servidor DNS, y el mismo servidor le da una respuesta con las direcciones IP del dominio solicitado.

            Nslookup puede resolver todo tipo de direcciones. También pueden utilizarse otros servidores DNS alternativos al predeterminado. Para ello, usareos Server x, siendo x la dirección IP


            > server 10.0.0.1


            Servidor predeterminado: (nombre del servidor DNS)
            Dirección: 10.0.0.1
            >

            - Netsh

            Netsh es una herramienta utilizada para la administración de las interfaces de red por línea de comandos. La hemos visto ya hace un par de entradas, con la creación de un archivo por lotes para la configuración de direcciones IP. Tiene más usos aparte del que le dimos, pero su uso es más dificil debido a no poder configurar gráficamente todas las opciones que incorpora. Por el momento nos quedaremos solo con el concepto de para qué sirve.

            - Telnet

            Telnet es un protocolo utilizado para la conexión de dos ordenadores de forma remota, un servidor y un cliente, controlando desde el ordenador cliente el ordenador servidor. El uso de la aplicación es sencillo:

            •  Open

            La variable Open abre la conexión al servidor especificado.

            Telnet> open x.x.x.x (dirección IP)

            Para salir de la conexión, se debe usar la combinación de teclas Ctrl + C.

            - Netstat

            Netstat es una herramienta utilizada para "mapear" todas las conexiones que tenemos activas en nuestro sistema operativo. Se ejecuta por la línea de comandos, y su uso básico es para determinar qué puertos o conexiones tenemos activas.

            PD: es posible que nos "asustemos" al ver tantas conexiones activas, sobre todo si nos fijamos en que la dirección IP 127.0.0.1 puede acumular demasiadas entradas (En el fondo esta dirección IP da igual, es la de loopback, y no sirve de nada en Internet), o que nuestra dirección de red verdadera también tenga demasiadas. Si queremos asegurarnos, poniendo netstat -n podremos ver "en bruto", con la dirección IP determinada, todas las conexiones de nuestro ordenador. Así, podremos usar la herramienta nslookup para saber de quién son las direcciones IP extrañas o que no sabemos.


            Fuente:

            Investigaciones propias realizadas con Windows
            Algunas ayudas de la página de ayuda de Microsoft.

              jueves, 1 de septiembre de 2011

              Creación de archivos por lotes para pequeñas cosas. Parte 2: Iniciar/detener servicios con un script.

              En esta segunda parte, realizaremos un nuevo archivo por lotes para otro tipo de trabajos y funciones, exactamente en la iniciación y detención de servicios del sistema operativo (Esto es, los servicios de Windows, o para ser exactos, los que aparecen en la pestaña Services.msc), pero de forma apilada y secuencial (Lo que viene a ser que con un ejecutable por lotes se activen X servicios, o se desactiven).

              Para ello, tomaremos otro ejemplo "de la vida real".

              Pongamos el ejemplo de un programa que necesite la activación de una serie de servicios para que funcione correctamente. Como ejemplo, pondré un programa que sí necesita de una serie de servicios para funcionar: VMware Workstation y sus productos.

              Por defecto, VMware, al instalarse, activa una serie de servicios automáticos en Servicios para que al iniciar el ordenador, dichos servicios del programa se activen y así pueda funcionar todo con normalidad.

              Ahora supongamos que nosotros no queremos que dichos servicios se activen automáticamente, quizá porque nos ralentiza mucho el sistema o porque tenemos una memoria RAM muy limitada. De la forma tradicional, deberíamos ejecutar la pestaña de servicios en Panel de Control > Herramientras Administrativas > Servicios y a partir de ahí desactivarlos o activarlos uno por uno ¿No?

              De forma recurrente, encontré una solución para evitar ejecutar cada tanto rato los Servicios y no malgastar un tiempo valioso.

              Por consola de comandos, descubrí que existe una opción para ejecutar servicios fácilmente. Usando el comando Net Start y el servicio a ejecutar, éste se iniciaba. De forma lógica, si ponía Net Stop y el servicio, éste se detenía.

              Visto para sentencia, elaboraremos los archivos que necesitamos para ello:

              Antes de su creación, vamos a realizar una pequeña comprobación técnica en los servicios:

              En VMware hay 5 servicios necesarios:
              • VMware Agent Service
              • VMware Authorization Service
              • VMware DHCP Service
              • VMware NAT Service
              • VMware USB Arbitration Service
              Como nuestro ordenador los inicia, lo primero que vamos a hacer es activarlos como Manual para que al iniciar el ordenador, seamos nosotros los que activemos o desactivemos el servicio y no se active solo.

              Una vez realizado en los 5, pasaremos a apuntar su Nombre de servicio, que no es el que viene en el programa de Servicios, sino Dentro de la ficha del servicio. Pulsamos en las propiedades del programa y aparecerá el Nombre del servicio. Así, por ejemplo:

              • VMware Agent Service tiene como nombre ufad-ws60
              • VMware Authorization Service tiene como nombreVMauthdserv
              • VMware DHCP Service tiene como nombreVMnetdhcp
              • VMware NAT Service tiene como nombre VMware NAT Service
              • VMware USB Arbitration Service tiene como nombre VMUSBArbService
                Una vez tengamos las referencias, creemos los archivos:

                Crearemos primero el archivo de inicio de servicios. Para ello, iniciamos Notepad y escribimos los servicios con su nombre de servicio que hemos especificado antes:


                net start ufad-ws60
                net start VMAuthdService
                net start VMnetDHCP

                net start VM NAT Service
                net start VMUSBArbService


                Una vez puesto, lo guardaremos con extensión .bat 
                Por ejemplo, VMwareON.bat

                PD: Si no queremos entrar en los procesos uno por uno para saber el nombre de proceso, podemos recurrir a un método alternativo: Encerrar el servicio entre comillas en el archivo que estamos creando. Así, por ejemplo, en vez de net start ufad-ws60, podríamos poner net start "VMware Agent Service".

                El archivo de detención de servicios será con la otra opción, con Net Stop, así, nos quedará algo así como


                net stop ufad-ws60
                net stop VMAuthdService
                net stop VMnetDHCP

                net stop VM NAT Service
                net stop VMUSBArbService


                Guardamos el archivo también como .bat.
                Por ejemplo, VMwareOFF.bat


                Listo. Ahora, cuando queramos iniciar los servicios del VMware ejecutaremos VMwareON.bat y se iniciarán, y para detenerlos, usaremos VMwareOFF.bat 


                PD: Se requieren permisos de administrador para realizarlo. Por ello, si usamos Windows 7 y Windows Vista daremos con botón derecho en el archivo y Ejecutar como administrador.

                Fuente:
                Servicio técnico de Microsoft
                Experiencia propia

                Para terminar, les dejo una canción:


                Ama... Ama... Ama... ¡Y ensancha el alma!
                Extremoduro.

                miércoles, 31 de agosto de 2011

                Creación de archivos por lotes para pequeñas cosas. Parte 1: Script para introducir direcciónes estáticas.

                Siguiendo con mi compartición de conocimientos con la Nada (Si, estoy completamente solo en este blog, no se para qué hago entradas... si, bueno, para no aburrirme tanto) voy a dejar apartados a un lado las experiencias ruterianas y voy a pasar a explicar la creación de pequeños archivos que falicitarán un poco al usuario que se vea obligado a usar en un sitio direcciones IP estáticas y direcciones dinámicas, como primera parte de dos de archivos por lotes para cosas "útiles".

                Imaginemos la situación: En la empresa usas un ordenador portátil que funciona con Wifi y en casa usas el mismo ordenador para uso personal, con la diferencia de que en la empresa debes asignar estáticamente las IP, máscaras y DNS para trabajar, y en casa usas el servicio DHCP que te lo asigna solito. A la larga te aburrirá tener que entrar en configuraciones de adaptador para configurarlo, porque cansa mucho.

                Yo he tenido esta situación presente, y tras muchas investigaciones con las consolas de comandos de Windows, por fin he conseguido dar con el método de librarme de ésto, de tal forma que con ejecutar un simple archivo por lotes, puedo cambiar las cosas rápidamente y en apenas 20 segundos.

                Explicaré la situación con cifras, ésta vez, para hacerlo todo más intuitivo:

                En casa usamos servidor DHCP, con lo que no hace falta introducir IP

                En el trabajo/empresa/cualquier otro sitio no existe servidor DHCP, con lo que habrá que introducir las direcciones estáticamente. Como ejemplo, pondré estas:

                Dirección IP: 192.168.16.2
                Máscara de red: 255.255.255.0
                Puerta de enlace predeterminada: 192.168.16.1
                Servidor DNS primario: 80.58.61.250
                Servidor DNS secundario: 80.58.61.254

                Planteado el problema, haremos la solución.

                Por consola de comandos, existe un pequeño programa llamado netsh, cuyo propósito es la configuración de la red mediante líneas de comandos.

                Netsh ofrece variedad de opciones, como la configuración de interfaces de red, mostrar las redes a las que nos hayamos conectado, entre otras. Nosotros solo nos vamos a centrar en una opción sencilla: Interface.

                Dentro de Interface se ofrece la posibilidad de configuración de IP, especificando siempre cuál es la conexión a modificar. La variable es IP

                Dentro de la variable IP existen otros comandos, como Add, Set, Delete... Nos vamos a concentrar en la variable Set, que será la que nos ayude. Como lo que vamos a cambiar es una dirección, la sintaxis exacta dentro de ésta variable es Set Address

                Ahora, debemos especificar cuál adaptador es el que vamos a modificar. Comúnmente, será el llamado "Conexión de Área Inalámbrica". Llegado a este punto, haré una advertencia:

                Cambiad el nombre del adaptador de red, o, al menos, quitadle los acentos. Eso evitará problemas innecesarios al ejecutar el archivo. En vez de llamarse "Conexión de Área Inalámbrica", que se llame "Conexion de Area Inalambrica", así no habrá mucho problema al ejecutarlo. (Explicación: cmd no usa bien la codificación de caracteres, y cuando ejecutamos el archivo por lotes cambia los caracteres especiales [acentos], con lo que si quitamos los acentos y lo ponemos totalmente "plano", así evitamos problemas)

                Una vez especificado el adaptador, debemos decirle al programa que la asignación es estática y la dirección IP, máscara de subred y puerta de enlace. La variable aquí entonces es static 192.168.16.2 255.255.255.0 192.168.16.1

                A modo resumen: Para añadir la dirección 192.168.16.2 a nuestra tarjeta de red, habrá que poner:

                netsh interface ip set address "Conexion de Area Inalambrica" static 192.168.16.2 255.255.255.0 192.168.16.1


                Para los servidores DNS, aplicaremos otro contexto no muy distinto.

                Como lo que vamos a hacer es agregar un servidor DNS a la lista, en vez de Set, Será Add la variable a usar. La variable Static del final tampoco es necesaria. Lo que nos debe de quedar para la asignación de la dirección DNS primaria es:

                netsh interface ip add dns "Conexion de Area Inalambrica" 80.58.61.250

                Para la dirección secundaria, haremos una pequeña variación. Colocaremos la dirección IP y luego index=2, referenciando que es secundaria.

                netsh interface ip add dns "Conexion de Area Inalambrica" 80.58.61.6254 index=2

                Una vez tenemos los comandos, lo más simple es guardarlos en un documento de texto para que no se olviden ¿No? Nosotros lo haremos más efectivo. Haremos un archivo ejecutable por lotes para ejecutarlo y que no haga falta introducir tanto chorizo por comandos.

                En un documento de texto, añadimos los valores de antes:

                netsh interface ip set address "Conexion de Area Inalambrica" static 192.168.16.2 255.255.255.0 192.168.16.1
                netsh interface ip add dns "Conexion de Area Inalambrica" 80.58.61.250
                netsh interface ip add dns "Conexion de Area Inalambrica" 80.58.61.6254 index=2

                Lo guardamos, pero con la extensión .bat, para marcar que es un archivo por lotes.
                Por ejemplo, Static.bat.


                Ahora, cuando queramos tener esas direcciones, ejecutamos este pequeño archivo y configura el adaptador sin necesidad de ir a Conexiones de red y todo el rollo.


                Hemos aprendido a hacer que sea estático ¿Pero y que sea DHCP, para cuando lleguemos a casa? La respuesta, ahora mismo.

                Modificaremos solo las variables del final. En la de asignación de IP, en vez de static, irá la palabra dhcp, quedando así:

                netsh interface ip set address "Conexion de Area Inalambrica" dhcp

                La de DNS tendrá un ligero cambio. Ahora no es Add, sino Set, y en vez de las direcciones IP irá, como bien adivinaréis, dhcp

                netsh interface ip set dns "Conexion de Area Inalambrica" dhcp

                Hacemos un nuevo documento de texto, ahora con otro nombre, pero la misma extensión
                Por ejemplo, dhcp.bat


                Y listo. Ahora tienes la capacidad de cambiar de una a otra simplemente ejecutando un fichero .bat

                PD: Necesitarás, obviamente, permisos de administrador. En Windows 7, Vista o similar, en vez de ejecutarlo con doble clic, pulsar botón derecho y "ejecutar como administrador", y listo.

                Fuente:
                Datos recopilados de Microsoft
                Experiencias propias trasteando con el programita

                Consejos de seguridad de routers Wireless

                Hace no mucho, he estado investigando en Internet la capacidad de poder "romper" redes Wireless (En adelante Wifi) que vienen en los rúteres por defecto. 

                Voy a hacer unos pequeños apuntes para poder ayudar a todo el que lea (Ah, no, que sigo estando solo... Bah, da igual) el cómo poder proteger su Wifi de manera mucho más segura.

                1º Conoce cómo entrar a tu router.

                Un router wifi tiene un modo de acceso, para poder hacerle cambios. Para acceder a él, comúnmente, el proveedor de servicios manda, junto con el router, un disco que instalas en tu ordenador y te da acceso a tu router y a cambiar una serie de preferencias.

                Si el proveedor de servicios no ha suministrado un disco de instalación o algo de ese estilo, no te preocupes, puedes entrar aún así en él. Para ello, en un navegador debes introducir la IP de tu puerta de enlace (Comúnmente, en todos los rúteres, la puerta de enlace es 192.168.1.1, con lo que en el navegador debe quedar algo así como "http://192.168.1.1" (sin comillas, claro), y desde ahí podrás entrar. En este caso has de especificar un usuario y contraseña, que comúnmente debe ser 1234 en los dos campos. Si no da acceso con esos códigos, usa Google para adivinarlo (lo que viene a ser que pongas marca y modelo del router y "contraseña" y te aparecerá alguna).

                2º Protege la contraseña de entrada y cambia las opciones

                Un router, tal cual de fábrica, te viene con dos códigos únicos y relacionados: ESSID y BSSID

                El ESSID es el nombre que comúnmente aparece cuando buscas wifi, algo así como "WLAN_XX", "JAZZTEL_XX". "VodafoneXXXX", "WLAN_XXXX" u otros que no tienen éste patrón.

                El BSSID es el identificador único de tu punto de acceso wifi. Algunos confunden que la BSSID y la MAC del router son exactamente el mismo coso, pero no es así. Cierto que tienen similitudes como 6 grupos de 2 letras, así como 11:22:33:44:55:66, tomando estos números valores desde 1-0 y A-F (para el que no lo sepa, son valores hexadecimales), pero el BSSID es sólo del punto de acceso y la MAC del router es la dirección fisica del router, que no del punto de acceso.

                Existen programas que conociendo estos dos únicos valores te sacan la clave exacta que tienes, sea WEP o WPA*

                *WEP y WPA: Encriptaciones de los routeres. WEP es común en routeres WLAN_XX y JAZZTEL_XX y WPA en WLAN_XXXX y VodafoneXXXX

                Para asegurar la conexión, cambiaremos el valor ESSID y la contraseña, ya sea WPA o WEP.

                Antes de configurar el router, es recomendable hacerlo por cable Ethernet, para no quedarse parado en las configuraciones (Cuando cambias valores mediante Wifi, el router reinicia los ajustes y a veces desconecta de tu ordenador por los cambios que haces)

                Una vez dentro del router, habrá un apartado llamado Wireless (Si usas el disco, sigue las opciones y te debería aparecer).

                Una vez cambies el valor ESSID, a los 10 segundos debe aparecer el nuevo nombre de la red que hayas especificado. El BSSID seguirá inalterable, al igual que la contraseña del router, con lo que también cambiaremos dicha clave.

                Para ello, el apartado ahora será Encryptation. Para más seguridad, recomiendo usar claves del tipo WPA/PSK, más difíciles de crackear que las tradicionales WEP o WPA de serie.

                Una vez cambiados los valores del ESSID y la clave de entrada, el router puede estar totalmente protegido a primera vista, pero en realidad aún sigue estando vulnerable. Para fortalecer aún más la red, podemos activar o desactivar una serie de cosas, a saber:

                • Filtro MAC: Es un filtro único que afecta a la wifi. El router tiene una tabla MAC, de acceso o denegación. Si activas éste filtro y especificas que sólo se conecten ordenadores con una determinada MAC, conseguirás que el que te quiera entrar no pueda hacerlo tan fácilmente. La configuración del filtro es diferente en los rúteres, con lo que es preferible buscarlo en Google que hacer uno genérico

                • Servidor DHCP: Cuando un ordenador se conecta al router, sea mediante Wifi o cable, el router suministra una dirección IP, una máscara de subred, la puerta de enlace y las direcciones de los servidores DNS, para que funcione normalmente y sin problemas. Si desactivas el DHCP, tendrías que introducir manualmente los valores de la conexión. Como medida de seguridad, es a gusto del consumidor: si solo usas dos PC (un fijo y un portátil) y no los sacas de casa, desactivas el DHCP y pones todo "a capela" para que, si alguien se conecte, le resulte más dificil.

                  PD: Si usas aparatos como teléfonos móviles, PDAs o aparatos que requieren el uso de wifi si pueden, has de saber que algunos de ellos no son adaptables si no tienen un servidor DHCP y no se le puede poner una dirección IP estática.

                  PD 2: Una vez deshabilitado el servidor DHCP, nada más le des a Apply, el ordenador desconectará de la conexión, dado que el DHCP está desactivado y ya no ofrece esa IP asignada a tu ordenador. Es recomendable que si vas a desactivar el DCHP, tengas ya asignada una IP estática para no sufrir mucho retraso en la configuración. Para asignar una dirección IP, ve a Conexiones de Red, Propiedades en el adaptador de red que usas y en Protocolo de Internet versión 4, propiedades y asignas los valores que quieres dar.
                • Cambio de la contraseña de entrada al router: El usuario y contraseña de entrada al router también puede ser modificable. Así evitaremos que si alguien consigue entrar, pueda modificar valores.

                • Cambio de la dirección de la puerta de enlace: La dirección 192.168.1.1, por defecto en los routers, también puede ser modificable. Puedes asignar direcciones más seguras como 192.168.X.1 (x es el valor cambiable, de 0 a 254).

                  Atención: Si cambias la dirección del router, los ordenadores también cambiarán de "red". Por ejemplo, si la dirección es 192.168.64.1, el resto de ordenadores tendrán que tener como dirección IP 192.168.64.X, siendo X el valor que quieras dar a la IP de tu ordenador (omitiendo el 0 y el 255, que son las IP de red y de broadcast). Con el servidor DHCP no será necesario, cogerá la red sola, pero sin DHCP, deberá ser así.
                  Una vez hechos todos los cambios, es recomendable resetear el router (Ojo, no resetear de fábrica, sino apagar y encender) para que surtan efecto. Por defecto el router puede hacerlo solo debido a los cambios, pero por si acaso, se hará así también.

                  PD: Posiblemente haya cientos, sino miles, de apuntes de éste tipo, pero este es totalmente personal y reproducido por un servidor como yo, aunque las cosas que diga sean demasiado obvias, no puedo dejar de recordarlo para los lectores.

                  PD 2: Si algún usuario me remite algún tipo de duda, por ejemplo que no sabe cómo funciona el DHCP o cosas relacionadas, comenten en el problema y haré una nueva entrada con la solución del problema

                  PD 3: Este artículo es meramente orientativo. Como seguro que aunque ponga que no lo distribuyáis por ahí o cosas así os la va a soplar a dos manos, no voy a poner el típico mensaje de "no lo distribuyas sin permiso", así que si os queréis hacer los listos hablando de direcciones MAC o servidores DHCP como si supiérais de lo que estáis hablando, adelante, pero no resolveré dudas para vuestro propio "lucro" con otras personas.

                  Fuentes usadas:
                  Elhacker.net
                  Algunos recursos de Cisco Systems
                  Experiencias propias configurando un router, y otras cosas de la vida.

                  martes, 9 de agosto de 2011

                  Volvemos a encontrarnos, señor Anderson. [Presentación]

                  Bueno, supongo que todo blog tiene su primera presentación y toma de contacto.

                  Blogger está cambiado muchas opciones, me está costando a horrores poder escribir algo coherente. Los de Google están teniendo bastantes problemas por lo que se ve, si.

                  El objetivo principal de su creación no es otro que intentar plasmar todos los hechos que quiera compartir con todo usuario que se presente por aquí. (¿Hola? ¿Hay alguien? No, me parece que sigo estando solo...). La mayoría de mis entradas irán orientadas a solucionar, informar y sobretodo, aprender algunas cosas de informática. La temática de sistemas operativos será tanto Linux como Windows. Mac OS no la repasaré para nada, dado que ni he usado un Mac nunca, ni me va a dar ningún golpe en la cabeza para darle un repaso.

                  Hasta aquí me despido. No es una entrada muy coherente pero es lo único que mi mente consigue escribir con el calor derritiendo la neurona del cerebro.