El comando NETSTAT en windows, conoce el tráfico de tu equipo…

Hay muchos de vosotros que ya tenéis muy machacado el comando netstat, pero tanto para los que lo conocen como para aquellos que no lo conocen os recomiendo que os leáis este post, hasta el final.

Empezaré diciendo que el comando netstat nos da información sobre las conexiones entrantes y salientes desde y hacia nuestro equipo, si bien es cierto que existen aplicaciones gráficas que facilitan este trabajo, para cualquier sysadmin o usuario que quiera saber que ocurre en sus equipos, es de obligado cumplimiento el conocer aunque sea un poco esta herramienta.

Para saber que opciones podemos utilizar, os invito a abrir una ventana cmd y escribáis: netstat -h

netstatH

NOTA: Para este post estoy usando Windows 8.1 puede que las opciones cambien o tengan menos opciones en otras versiones de Windows, cosa que cambia si estáis usando linux, pero bueno empezaremos poco a poco.

Sigamos, en la ventana cmd podemos ejecutar lo siguiente: netstat -a

netstatA

Como se puede observar, veremos que nos aparecen un montón de datos (protocolo utilizado, dirección local, dirección remota, estado), y según la cantidad de aplicaciones que tengamos arrancadas accediendo a internet y/o red local, el resultado puede ser muy largo. La opción -a tal y como dice la ayuda del comando nos muestra todas las conexiones y puertos a la escucha.

TIP: Recordad que siempre que lo necesitéis podéis volcar el resultado en un fichero para revisar tranquilamente, para ello ejecutaremos lo siguiente: netstat -a resultado.txt y después con un “notepad resultado.txt” podréis abrir el fichero y ver los resultados con detenimiento.

Puede ser que el resultado obtenido no sea todo lo completo que necesitéis pero por ahora iremos viendo más opciones con las que iremos mejorando la cantidad y calidad de información que necesitéis en cada momento.

Por ejemplo, en mi caso me gusta que me muestre los datos identificando la ip y puertos en lugar de que me muestre los nombres, para ello utilizaremos la opción -an tal y como podemos observar en la siguiente imagen.

netstatAN

TIP: Nos puede pasar que queramos ver por ejemplo todas las conexiones que utilicen el puerto 80, para ello podemos utilizar el pipe y concatenarlo con el comando find, por ejemplo: netstat -an | find :80

Ya vamos conociendo algunas opciones, y algunas formas de filtrar la información que recibimos por pantalla, seguimos….

Nos podría interesar saber que PID tiene el proceso que está a la escucha o esta estableciendo una comunicación, ¿para que?, se me ocurre por ejemplo para comprobar que aplicación la tiene abierta, esto lo podremos ver con la opción -o donde nos muestra el PID del proceso y posteriormente podremos ver que aplicación es con el comando tasklist. Veamos la consecución de los comandos.

netstatANO

tasklist

NOTA: Las opciones -ano la uso siempre en este orden porque me es fácil de recordar, no por otros motivos .…  X      🙂

Veamos otras opciones, por ejemplo -r :

netstatR

El resultado de este comando es exactamente igual que si ejecutásemos el comando “route print”, y nos muestra la tabla de enrutamiento local, con las redes destino, mascaras, puertas de enlace, interfaz y métrica, y paro de explicar mas cosas sobre el significado de estos datos, ya que tengo planificado hacer un post sobre el comando route donde realizaré varios ejemplos y quedarán más claros.

Ahora me gustaría hacer hincapié sobre una de las opciones del comando netstat que muchos olvidamos que existe, y que en determinadas situaciones me han ayudado mucho, justamente es la opción “interval”, la cual, podemos especificar una cantidad en segundos para que se ejecute de nuevo el comando con lo que la información se refresca y nos muestra los nuevos datos, esta opción si la redireccionamos a un archivo nos puede ayudar a ver que es lo que ha ido ocurriendo durante el arranque de una aplicación, el comando sería el siguiente:

netstat -ano 2 >>resultado.txt

El 2, significa que se ejecutará el netstat cada 2 segundos.

TIP: Cuando queramos parar la ejecución del comando, hay que pulsar CTRL+C. Y posteriormente podrémos analizar el resultado.txt con nuestro editor favorito.

El resto de opciones, aunque son menos utilizadas en general, no son por ello menos interesantes, pero os las dejo para que las exploréis vosotros.

Espero que este POST os haya gustado y sobre todo que os sea útil   🙂

¿Para que uso autohotkey?

Ya he hablado en mi antiguo blog sobre autohotkey, una herramienta para windows para automatizar tareas, en mi caso particular la uso sobre todo para lo que se denominan hotstrings, con lo que al escribir una abreviación definida en el fichero de autohotkey me expande el texto configurado, lo cual como os podéis imaginar me ahorra varias pulsaciones de teclado cuando estoy escribiendo un documento, un correo, en mi evernote, o donde sea, incluso algunos snippets que uso en mis scripts, una herramienta realmente útil y que recomiendo encarecidamente a todo el mundo, os voy a adjuntar algunos ejemplos de mi fichero de configuración para que en caso de que os interese, os ayude a crear vuestros propios hotstrings.

Solo una anotación, a mi me gusta empezar mis hotstrings con “/” para que mientras escribo, si por casualidad un hotstring coincide con una abreviación de cualquier tipo no me lleve sorpresas. 🙂

;; ---- INICIO DEL FICHERO ---
;; -- para correo --
::/ugmail::
 (
 fpalenzuela@gmail.com
 )
::/sig::
 Saludos,
Francisco Palenzuela Luque
 Tel: +34 XXX XXX XXX
 mail: fpalenzuela@gmail.com
 web: www.aprendizdesysadmin.com
::/bd::
 Buenos días,
::/bt::
 Buenas tardes,
;; -- Fechas
 ;; -- Fecha y hora actual
 ::/fh::
 FormatTime, fecha,, yyyy/MM/d HH:mm
 Send %fecha% -
 Return
;; -- Fecha actual
 ::/f::
 FormatTime, fecha,, yyyy/MM/d
 Send %fecha% -
 Return
;; -- Para correo, inicio en asunto.
 ;; -- y autorellena el resto.
 ::pinci::
 Send --- Para pasar a incidencias{tab}
 Send Equipo:{enter}
 Send Problema:{enter}
 Send Solución:{enter}
 Send Tiempo:{enter}
 Send Facturable:
 Send ^{Home}
 Send ^{Right}
 Send {Right}{espace}{espace}{espace}
 return
::/dirCasa::
 (
 Avda. XXXXXXXXXXXXXXXXXXXXXXXX
 Bloque X Esc X XXXXXXXXXXXXXXX
 07141 - XXXXXXXXXX - XXXXXXXXX
 Illes Balears
 )
;; -- Cabecera para scripts en CMD
 ::/headcmd::
 (
 @echo off
 REM Nombre Fichero:
 REM Autor:
 REM Fecha:
 REM Descripción:
 REM
 REM Requerimientos:
 REM
 REM Variables
 REM ------------------------------------------------------------------
 REM
 REM
 REM  Histórico
 REM ------------------------------------------------------------------
 REM
 )
;; ---- FIN DEL FICHERO ---

 

Bueno espero que os sirva de ayuda, y no os dé miedo a probarlo.

Aprovecho este post para desearos a todos unas muy Felices fiestas !!!!

Hangout sobre sistemas de ficheros de alta capacidad en desarrolloweb

Muy buenos días,

Ayer estuve viendo  el hangout sobre ficheros de alta capacidad en desarrolloweb, en este caso, con Diego Martínez Castañeda aka @n1mh en twitter, quien realizo una excelente introducción a los sistemas de ficheros de alta capacidad XFS y ZFS , y donde nos mostró las bondades de dichos sistemas de ficheros.

La verdad es que en este mundo, cuando ves a gente como Diego explicando cierto tipos de cosas de forma práctica y natural, te das cuenta de lo poco que sabes, os animo a todos a que veáis el hangout que no tiene desperdicio,  podéis encontrar el hangout en el canal de youtube de desarrolloweb os pongo el enlace.

Desde aquí dar las gracias por dedicar su tiempo de forma desinteresada tanto a @n1mh como a @voylinux (Pablo Bernardo) por retomar de nuevo esta fuente de información que son los hangout de #linuxIO.

 

Un saludo a todos. 🙂

 

 

La documentación

cuadernoyboli

Este post no os va a contar nada nuevo a muchos de vosotros, pero creo que el tema en cuestión puede concienciar a muchos sobre la importancia y necesidad de la documentación..

Muchos diréis, documentar para que…. al final no sirve de nada…. excusas y más excusas. Ya sé que recopilar, estructurar, desarrollar y mantener la documentación es un trabajo ABURRIDO y poco gratificante, es más “entretenido” ir apagando fuegos y esos marrones que nos caen constantemente, olvidándonos de los términos DRY (Don’t Repeat Yourself), eficiencia, KISS (Keep It Simple Stupid), etc, etc…. realmente ¿esto nos hace mejores administradores? Sinceramente creo que no.

 

¿Quien debe documentar y que se debe documentar?

Todo el mundo y todo lo que necesites para realizar tus funciones de la forma más eficiente que puedas, los sysadmin deben documentar sus sistemas, estaciones, servidores y demás. Los administradores de red, todos los detalles de sus redes, routers, switches, cableados, ubicaciones de los IDF y MDF, así como los protocolos de enrutamiento o enrutados que pasen por sus redes, rosetas, etiquetas, etc., Los de Helpdesk, deben documentar sus procedimientos, actuaciones, seguimientos, contactos, etc. Los de seguridad, las políticas, procesos y procedimientos que se deben seguir, así como planes de actuación, auditorias, etc.

Evidentemente, solo he mencionado una parte muy diminuta de la cantidad de cosas que se deberían documentar, es más, la documentación no solo es para el sector profesional, en casa también conviene que  documentemos por ejemplo, el SSID de nuestra wifi, la pass de la misma, el usuario y contraseña de nuestro router, equipo u equipos, configuraciones y software que utilizamos, etc. Nuestro cerebro funciona de una forma extraña, y por alguna razón cuando necesitamos recordar algo, simplemente somos incapaces de recordarlo y … bueno en este caso es cuando vienen las “hay madre mía”.

Vale suena bien pero …..

1. Si no está documentado, me hago indispensable para la empresa ya que nadie sabe como está montado.
2. Me da pereza, y no sirve para nada.
3. No tengo tiempo físico para realizarla.
4. Eso solo es para dummies, los que saben de verdad no documentan nunca, soy un supermacho.
5. No documento porque no me pagan para ello.

 

Bien, estas excusas son algunas de las que me he cansado de discutir con amigos y compañeros a todos los niveles desde los que son “pros” a los que son “colegas”, vayamos por partes y según mi experiencia, al punto 1, el que piense así va por mal camino y he aquí mis alegaciones:

 

a) NADIE es indispensable en la empresa, y cuando digo NADIE es NADIE. Si no haces tu trabajo por muchas cosas que sepas que nadie mas sabe, lo siento majete pero te veo pronto en la cola del paro.
b) SIEMPRE hay alguien que será capaz de entender el qué y el como lo has realizado o se debe realizar eso que tu creías que nadie sería capaz de entender, y el resultado final será el mismo que el punto a.

 

A los del punto 2 y 3, les preguntaría que pasa si un día no estás y un compañero tiene que hacer una tarea en un servidor porque un servicio no está funcionando, del que ¿no se sabe por donde para el servidor?, ¿ni usuario?, ¿ni contraseña?, ¿ni como conectarse a él, por ssh, vnc, rdp, señales de humo?, ¿ip?… mmmm y  si le añadimos a la ensalada que dicho servicio deja sin poder trabajar a 10 personas durante varias horas?, bueno en este caso, es muy probable que acabes en la cola del paro también…

 

Bueno, la gente que he conocido lo suficientemente sobrados para contestar los puntos 4 y 5… duraron menos  en sus empresas que una bolsa de caramelos en la puerta de un colegio.

 
Consideraciones a la hora de documentar

Bueno, aquí cada maestrillo tiene su librillo, da igual si documentas en ficheros de texto, hojas de calculo, en docs, o con powerpoint. Yo recomiendo siempre varias cosas:

1.) La documentación, siempre en 2 formatos, electrónico e impreso.

– Es una putada que se vaya la luz y no poder acceder a tu información.

2.) Tanto la documentación electrónica como impresa, siempre protegida y con acceso restringido al personal que realmente deba tener acceso a la misma.

3.) Tened siempre en cuenta la cantidad de datos que necesitáis, estructurarla en bloques lógicos.

4.) Pensad de que forma queréis acceder a esa documentación, vais a necesitar poder filtrar, realizar consultas, etc. Según como queráis acceder a la misma tendréis que seleccionar la herramienta que mejor se adapte.

5.) No os olvidéis de realizar backups.

6.) El ciclo de vida de la documentación es INFINITO, es vital que la documentación sea confiable, y para que esto ocurra debe estar actualizada constantemente, si no se actualiza, no sirve para nada.

Y esto es todo por ahora, ya iré escribiendo más sobre la documentación espero que este post os sea de ayuda…