Alternativas al netcat

El otro día en twitter tuve un pequeño lapsus sobre las alternativas a netcat, esta mañana me ha venido a la memoria que el socat no es parte del proyecto nmap, por lo tanto, he vuelto a mirar las opciones y aqui esta el resultado correcto:

cryptcat [http://cryptcat.sourceforge.net/] .-  Es una implementación de netcat que permite encriptación twofish, esta disponible para windows nt, BSD y linux.

socat [http://www.dest-unreach.org/socat/].- Tal y como dicen en su web es un netcat ++ permite multiples conexiones, redirección de puetos y mucho mas…. disponible para AIX, BSD, HP-UX, Linux, Solaris e.a. (UNIX).

ncat [http://nmap.org/ncat/].- Este SI pertenece al proyecto nmap, ha sido reimplementado por el equipo de nmap, tiene soporte para SSL,  conexiones a traves de proxy SOCKS4, esta disponible para LINUX, MAC Y WINDOWS. Y viene por defecto en el mismo paquete que el nmap. Es una herramienta un poco desconocida  pero  muy util, lástima que muchos no comprobemos lo que se instala cuando montamos algo en nuestros equipos.

Bueno espero que está mini explicación aclare un poco más el tema.

saludos a todos,

Mini chuleta de NETCAT

Hola a todos, hoy en twitter @SeguInfo hacia referencia a una gran herramienta que ha sido considerada como la navaja suiza del tcp/ip, bueno tras ver la notica y aunque se han escrito hasta libros referente a ella, os adjunto un mini-chuletario que realize en su día del uso de la misma, aqui viene.

Escanear puertos:
nc -vvw 2 ip_destino puerto/s
Ejemplo: c:\>nc -vvw 2 localhost 1-1024

Para guardar el resultado en un fichero.
nc -vvw 2 localhost 1-200 >nom_fichero 2>&1

Montar un miniservidor web
nc -lp 100 nom_fichero

Ejemplo:
El equipo origen tiene la ip 192.168.0.1
El equipo destino tiene la ip 192.168.0.2

Origen:
type hola.zip | nc -lp 900 192.168.0.2
Destino:
nc 192.168.0.1 900 >fichero.zip

Crear un Talkd, para conversación ip en plan irc.
El que crea la conversación (Servidor)
nc -lvvp puerto    ejemplo: nc -lvvp 1234

El que se conecta (cliente)
nc -tvv puerto     ejemplo: nc -tvv 1234

Para crear conexiones telnet

Para hacer de Servidor:
nc -tlp puerto -e cmd.exe

El cliente:
nc -t ip puerto

Para que el equipo remoto me envie una consola:
Destino:
nc -lp 5000 -nvv
Origen:
nc -e cmd.exe -n ip puerto
nc -e cmd.exe -n 127.0.0.1 5000

Para dejar escuchando el equipo en un puerto y cancelar si el equipo no tiene una ip determinada.
nc -lp 999 192.168.0.2
Nota: si yo hago un nc – t ip_destino y mi ip no es la 192.168.0.2 el nc se cancela.

Para hacer de cliente telnet
nc -tvv ip puerto

Para transferir ficheros
Origen:
type nom_fichero | nc -lp 900

Destino:
nc ip puerto > nom_fichero

Ejemplo:
El equipo origen tiene la ip 192.168.0.1
El equipo destino tiene la ip 192.168.0.2

Origen:
type hola.zip | nc -lp 900 192.168.0.2
Destino:
nc 192.168.0.1 900 >fichero.zip

Con el netcat6 de linux permite cortar la comunicación del fichero con la opción -q 0.
cat fich | nc6 -lp 900 -q 0

Si ya se que es repetir lo mismo una y otra vez, pero por si hay algún despistado por hay aqui tiene algo con lo que probar……

Nada como siempre espero que sea de ayuda…. saludos a todos,

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 !!!!