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.