Mostrando entradas con la etiqueta Redes. Mostrar todas las entradas
Mostrando entradas con la etiqueta Redes. Mostrar todas las entradas

lunes, 31 de mayo de 2021

Cómo comprobar puertos en Windows

 Parafraseando a Pablo Neruda, con el libro de "20 poemas de amor y una canción desesperada", veremos varias maneras de comprobar puertos en Windows con, bueno, no 20 herramientas, pero sí tres, y un Powershell que más que desesperado, es muy socorrido. ¡Vamos allá!

Imagen de Gerd Altmann en Pixabay 

Vamos a utilizar un entorno de 2 maquinas, una "atacante", y otra con IP 192.168.96.128 para las diversas pruebas. Desde la maquina atacante comprobaremos el clásico puerto 80, y el 443, por ejemplo:

Chequeo de puertos con NMAP.

Esto es para comenzar fuerte. Nmap es una herramienta que viene por defecto en Linux, y es realmente potente para muchas funciones. Solo explicar Nmap no es que dé para un artículo aparte, es que da para un libro, sólo para exprimir sus posibilidades. Pero vamos a ver la funcionalidad en Windows.

Porque, sí, es posible instalarlo en Windows, donde además aplica un entorno gráfico que simplifica más cosas. En Windows se llama Zenmap, y lo puedes descargar desde AQUI.

Una vez instalado, lanzamos una consulta simple a los puertos que nos interesa con un nmap -sV -p 80,21,443, 192.168.96.128 (-sV es para comprobar los servicios que usan los puertos que queremos comprobar, y -p especifica los puertos. Realmente Nmap está pensado para rangos muy amplios de redes, no para este tipo de comprobaciones), y obtendremos esto:

Prácticamente de forma automática nos muestra el estado del puerto, y el servicio que lo utiliza.


TCPING

TCPing es una pequeña utilidad que se ejecuta por línea de comandos, y lo que hace es un ping al puerto que le indiques. La utilidad la puedes encontrar AQUI, basta con dejarla en el sitio habitual donde ejecutes este tipo de aplicaciones, y se invoca con "tcping ip puerto. Por ejemplo, 

tcping 192.168.96.128 443

Simple, y cómoda. Lástima que no venga integrada en el sistema.


Telnet

¡El viejo Telnet! Antes venia instalada en Windows, ahora debes buscarla como característica de sistema, por el nombre de Telnet Client. 

Lanzar telnet es tan simple como, en una ventana de comandos, escribir "telnet ip-destino puerto". 

telnet 192.168.96.128 443

Por Si probamos la conexión y esta se ve bloqueada, saldrá el siguiente aviso:

En cambio, si el puerto está abierto, haciendo por ejemplo telnet a 3389, conectará rápidamente, mostrando solamente el prompt:


Powershell

¿Para qué instalar herramientas, si ya tenemos PowerShell? Una herramienta que tenemos disponible sin instalar nada desde Windows Server 2008, pero para sistemas más antiguos, podíamos instalar, incluso en Windows XP.

Para probar un puerto en powershell, la nomenclatura será la siguiente:

Test-netconnection -computername nombremaquina -port 3389

Por ejemplo, Test-NetConnection -computername 192.168.96.128 -port 3389:

Y tenemos los resultados.

Espero os sirva de ayuda a la hora de delimitar problemas de conectividad.


viernes, 7 de mayo de 2021

Deshabilitar TOE (TCP-IP Offload Engine) en Windows server 2016 - 2019

 Aunque en esta misma web hice hace tiempo un artículo para deshabilitar el TOE, estaba más orientado a servidores Windows Server 2008 a 2012, sobre todo, ya que algunos parámetros cambian en versiones más modernas de Windows Server.

El antiguo artículo lo puedes consultar AQUI, pero para servidores nuevos, vamos a repasar las instrucciones, que cambian un poco, ya que por hay mas cosas a deshabilitar.

No cambia el tener que deshabilitar el TCP-Offload por el sistema operativo, y por la tarjeta de red, de manera que vamos por partes.

Tarjeta de red:

Para ello, vamos a las propiedades e la tarjeta de red, y pulsamos en Configurar:


Ahora, en la pestaña "Opciones avanzadas" deshabilitaremos las siguientes opciones:

IPv4 Checksum Offload

IPv4 TSO Offload

Large Send Offload V2 (ipv4)

Large Send Offload V2 (ipv6)

Offload IP Options

Offload taggered traffic

Offload TCP Options

Receive Side Scalling

Recv Segment Coalescing (IPv4)

Recv Segment Coalescing (IPv6)

TCP Checksum Offload (IPv4)

TCP Checksum Offload (IPv6)

UCP Checksum Offload (IPv4) 

UDP Checksum Offload (IPv6)   

Agregaría capturas, ¡pero son unas cuantas! Así que solo pondré una, indicativa para localizar las opciones


Sistema operativo

esta parte es mas simple. La configuración inicial se ve con el comando netsh int tcp show global, y se muestra así:

Deberemos modificarla con los siguientes comandos:


Los indico a continuación, para facilitar un poco la tarea:


netsh int tcp set global chimney=Disabled

netsh int tcp set global autotuninglevel=Disabled

netsh int tcp set global ecncapability=Disabled

netsh int ip set global taskoffload=disabled

netsh int tcp set global timestamps=Disabled

netsh int tcp set global rsc= disabled

netsh int tcp set global rss=disabled

Tras ello, si volvemos a ejecutar el comando netsh int tcp show global, quedará así:


Es necesario dar un reinicio al equipo, al finalizar, para que aplique bien los cambios. 

martes, 31 de marzo de 2020

Deshabilitar TOE (TCP-IP Offload Engine). Por qué se debe deshabilitar

Primero, una breve intro sobre qué es TCP Chimmney Offload, mas conocido como TOE.
Mas o menos a comienzos de siglo, con la aparicion de Windows Server 2003 y el comienzo del uso de las redes Gigabit Ethernet, se desarrolló una tecnología que permitía desplazar carga del trabajo de la CPU en relación a la transferencia de datos, a las tarjetas de red. Se pensó especialmente para la sobrecarga de datos asociada a los protocolos iSCSI y NFS.


Hay que tener en cuenta que TOE es realmente un procesador de la tarjeta de red, mientras que TCP Chimney Offload es un protocolo de Microsoft que se aplica al sistema operativo para el funcionamiento de TOE. Dicho de otro modo, TOE consta de dos partes: una física en la tarjeta, que se controla desde la pestaña de propiedades avanzadas de la tarjeta de red, y otra parte que se controla desde el sistema operativo.

Para explicar de forma simple cómo funciona TOE: normalmente, la descarga TCP consiste en un envio de paquetes monolíticos, mientras que Chimnney Oflload permite una descarga parcial de los paquetes. Cuando funciona, la ventaja es que reduce el tráfico de red, mejorando las comunicaciones.

Lamentablemente, no todas las tarjetas de red gestionan correctamente esta opción de proceso de los paquetes, haciendo que, en vez de mejorar el trafico de red, se pierdan paquetes, o lleguen mal. Son especialmente famosas por estos errores las tarjetas de la marca Broadcom. Y esta es la razón por la que es mejor deshabilitar esta opción, especialmente hoy día.

Vamos con el proceso para deshabilitar esta opción, que como comentaba,consta de 2 partes.

Parte 1. Deshabilitar la opcion TCP Chimney Offload en el sistema operativo.

  1. Abre una ventana de comandos
  2. escribe: netsh int tcp set global chimney=disabled

Si quisieras ver el estado en el que se encuentra esta opción, solo debes poner netsh int tcp show global

Con el comando netstat -t verás que la ultima columna de información que te facilita es el "offload state" o bien "estado de descarga".

Parte 2. Deshabilitar TCP Offload en la tarjeta de red.

Vamos hasta las propiedades del adaptador, y damos en "cambiar las opciones del adaptador", o bien "configurar", según la versión del sistema.


Una vez pulsamos, nos vamos a la pestaña de "opciones avanzadas"


Aquí son varias opciones las que debemos cambiar. En la imagen superior se ve IPv4 Checksum Offload, pero hay que cambiar las siguientes:

  • IPv4 Checksum Offload
  • Large Receive Offload
  • Large Send Offload
  • TCP Checksum Offload
  • Receve Side Scaling
Sobra decir que hay que cambiarlas a "disabled"

Una vez cambiadas, damos ok a todo, y con esto, hemos terminado.

miércoles, 27 de junio de 2018

Cambiar el puerto de escucha de RDP en Windows

Aquí va un pequeño truco para acceder a tu equipo Windows por RDP (el escritorio remoto de toda la vida) por un puerto distinto al habitual, el 3389.


Una de las utilizades más prácticas a este uso son la de poder conectar a varias maquinas por RDP si salen por una única IP fija, ya que el truco estaría en hacer NAT al puerto adecuado en la conexion a esa IP fija. Un ejemplo: pongamos que tienes una unica ip fija, 10.10.10.10, por la que sales a internet. Dentro, en tu instalación, tienes, desde una vm con tu web, pasando por, pongamos, 2 vm´s a las que tienes que acceder desde fuera.

Sin una vpn que te facilite la tarea, si intentas conectar a esa ip 10.10.10.10 por el puerto 3389, como mucho, te llevará a una máquina, suponiendo que hayas creado una regla NAT en el router que redirija esa conexion a una vm. Pero tenemos varias VM´s. La forma de hacerlo es conectar, entonces por RDP, pero utilizando puertos distintos al 3389, y configurando esto en el NAT, para redirigir conforme quieras. Por seguir con el ejemplo: supón que en tu red, las 2 vm´s tienen las ip´s 192.168.1.2 (la llamaremos VM1) y 192.168.1.3 (la llamaremos VM2).

La VM1 tiene el rdp configurado al 3389, y una nat que dice que las conexiones entrantes a 10.10.10.10 por el puerto 3389 vayan a la ip 192.168.1.2, puerto 3389. Esto es facil.
Pero para la VM2, no podemos redireccionar la conexion externa al puerto RDP, porque ya está redireccionado a la VM1. Asi que le cambiamos el puerto RDP.

Para ello, en la VM2, en Inicio, vamos a "Ejecutar", y escribimos regedit.


Luego vamos a:
HKEY_LOCAL_MACHINE>
    System>
         CurrentControlSet>
                 Control>
                         TerminalServer>
                               WinStations>
                                       RDP-Tcp

Aquí dentro buscamos la clave PortNumber. Cambiamos a base decimal, y ponemos el nuevo puerto que quieras utilizar, por ejemplo, 1111


Aceptamos y cerramos. Ya solo queda acceder a la maquina utilizando el nuevo puerto. Si accedemos a ella desde la red de la empresa, abrimos RDP y ponemos la ip de la Vm2, pero especificando el puerto. O sea, 192.168.1.2:1111. Y para acceder desde fuera, pondriamos la ip fija, con el puerto de rdp nuevo, o sea, 10.10.10.10:1111. ¡Pero no olvides que tienes que hacer una NAT en el router para hacer esta redireccion!

martes, 24 de mayo de 2016

Diagnostica tu red con este par de herramientas

A veces, la conexion de red parece que no va todo lo bien que deberia, incluso aunque se utilice cable en lugar de la wifi. Unas veces las causas pueden ser la saturacion del router, pero otras puede ser simplemente un problema en el cableado. Vamos a ver un par de herramientas muy útiles, gratuitas y portables, para llevar siempre en tu flashdrive.

PingStatus


Es una aplicacion muy simple de usar. Tanto como ejecutar, y dar al botón de Play.
La aplicacion se limita a lanzar pings contra una direccion que le indiques, como por ejemplo www.google.com. Te indica los milisegundos que tardan los paquetes en llegar y te dibuja una gráfica de la conexión. Tambien, para simplificar la búsqueda, puedes indicarle, por ejemplo, que solo marque en pantalla aquellos paquetes que se pierdan.


Una aplicación simple, a la vez que práctica, que te ayudará a localizar cortes o pérdidas de conexion y analizar frecuencia para localizar las causas. La puedes descargar de http://www.pingstatus.net/ en version portable o bien instalable, y funciona en practicamente todas las versiones de Windows, siempre que tenga .NET 2.0 instalado.

LAN Speed Test


Otra pequeña app que no requiere de instalación. Al igual que la otra, es terriblemente fácil de usar. Sólo pide una carpeta compartida a la que poder enviar un paquete de datos de las dimensiones que le indiques (por defecto, 20 Mb), que luego elimina automáticamente. Hay que tener cuidado de disponer de permisos en la carpeta, ya que si no, falla el test.


Como se ve en la imagen, hace una escritura y luego una lectura de los datos para analizar la velocidad de conexion. En este caso la red es gigabit (1.000 Mbps), de forma que da 474 Mbps d escritura y hasta 702 de lectura, unas cifras bastante decentes.
Por cierto, esta aplicación también está disponible para Mac.

Lan Speed también permite comprobar los tiempos de transferencia a unidades externas como flashdrives o discos externos por USB o extSATA. Vamos, una joyita, que puedes descargar desde la web www.totusoft.com, o bien haciendo directamente click AQUI

Ambas aplicaciones están pensadas para su uso con una conexion de cable, RJ45, pero funcionan via wifi. Lo unico, hay que tener en cuenta las limitaciones del medio. Usualmente el test de ping funciona de manera similar, a veces alargando más los tiempos de respuesta, pero el test de velocidad en un router estándar de Movistar bajo una banda de 2,4 gHz dará como mucho una velocidad de 30 Mbps. Normalmente, para reproduccion de películas via wifi, o juegos, no habrá problemas, pero si necesitas transferir de forma usual grandes cantidades de datos, es recomendable, o bien cambiar de router, o bien comprobar si tu router de la operadora de turno puede funcionar en la red de 5 gHz, que aunque tiene un alcance algo más débil, es más rápida.

miércoles, 6 de abril de 2016

El cifrado de Whatsapp, explicado para dummies

Seguramente algunos de vosotros recibisteis ayer u hoy un mensaje en una conversación de Whatsapp con un simbolo de un candadito, e indicando que "Las llamadas y mensajes enviados a este chat ahora están seguros con cifrado de extremo a extremo. Toca para más informacion".


Si haces click en el mensaje, aparecerá un codigo "bidi" y una cadena de números que son la "llave de seguridad" de esa conversacion. Como en esta imagen:


¿Que significa esto? Pues lo que dice el texto informativo. Que se podrá cifrar la información desde tu movil, que envia un mensaje, hasta la persona a la que escribes, la que lee el mensaje.

Voy a tratar de explicarlo de forma simple, ya que las demas webs que publican la noticia se complican increiblemente con los tecnicismos del proceso. Muy resumido, funciona de la siguiente manera: cuando pulsas sobre el mensaje de la primera foto, salen 3 opciones.
  1. Confirmar que quieres encriptar la comunicacion. 
  2. Ok, que es como no hacer nada.
  3. Mas info, que te envia a la web de Whatsapp y te explican de qué va la encriptación (rollo técnico del que hablaba antes y del que se hacen eco las webs).
Si seleccionas Confirmar, es cuando te lleva a la segunda foto de este post. Eso que ves, en cualquiera de las dos maneras, bidi o numeración, es una llave. Tienes que ir a hablar con la otra persona, o enviarle un pantallazo, o lo que sea, para que pueda escanear el bidi, que es como darle la llave que accede a esa conversación. Si la otra persona tiene tambien el mensaje de encriptación, tiene que escanear tu código (o tú el suyo). Veras que abajo a la derecha de la segunda imagen, tienes un botón para escanear el código. Si se ha escaneado correctamente, aparecerá el siguiente mensaje:


Es la prueba de que se ha realizado la conexión cifrada correctamente. Ahora tus conversaciones no pueden ser espiadas por el FBI y otras agencias gubernamentales que seguramente estarán muy interesadas en tus fotos de la comida y tus mensajes de donde quedar para ir al cine.

Este sistema tan manual y farragoso, a la vez, es lo más seguro, ya que Whatsapp no conserva las llaves de las conversaciones, de forma que, aunque algun gobierno solicite el registo de conversaciones, sin el descifrado, no sirve de nada. Quizá se han apresurado a lanzar este sistema de encriptacion después de ver la que han montado el FBI y Apple con el célebre caso del iPhone del terrorista de San Bernardino.

Fuente: wired

Arriba, el esquema del funcionamiento del sistema, descrito un poco más técnicamente. Como ves, el mensaje dsale de tu movil, encriptado. Pasa por internet encriptado, y llega al servidor de Whatsapp encriptado. Este se comunica con el movil de la otra persona, y le envia el mensaje todavia encriptado. Llega al movil de la persona a la que le has enviado el mensaje, a la que previamente le has dado la llave, y automaticamente desencripta y t muestra el contenido. Cuando la otra persona responde, se realiza de nuevo todo el proceso. Y así constantemente, de forma totalmente transparente para ti.

No creo que queden dudas, pero si las hay, preguntad via comentarios, please.

jueves, 11 de febrero de 2016

Puertos en Windows: ¿cómo ver qué aplicacion lo utiliza?

A veces tienes por ahí puertos en uso que necesitas para otras aplicaciones, o bien simplemente estás comprobando la seguridad del equipo, y ves puertos en uso que no te suenan. Bien, pues vamos a ver qué puertos hay, y qué aplicacion las está utilizando...y si procede, tumbar el proceso.


Para ello, vamos a apoyarnos en la herramienta "netstat". Asi que lanzamos una ventana de comandos (Inicio / ejecutar / CMD), y lanzamos el comando "netstat -oan". El parametro "o" muestra el indicador de proceso. El parametro "a" muestra todas las conexiones y los puertos de escucha, y el parámetro "n" muestra las direcciones y los números de puerto en formato numérico.

Obtenemos algo similar a esto:


Como ves ,se puede ver el protocolo de la conexion, la direccion local, puerto, direccion remota, estado de la conexion, y el PID, que nos dirá la aplicacion que hace uso de ese puerto.

Ahora, pongamos, por ejemplo, que queremos ver a qué corresponde el puerto 11040, que no me suena de nada, y aparece como conexion establecida. Para ello, lanzamos el proceso siguiente:
tasklist /svc /FI "PID eq 11040"
Tal y como se ve en esta captura:


 Con esto, ya tenemos formas fáciles de carganos el proceso, como ir al administrador de tareas, pero ya metidos en faena con las líneas de comando, vamos a hacerlo con comandos, igualmente. Pero esta vez, utilizaremos "taskkill"
taskkill  /F /PID 11040
De todas formas, a partir de que hemos obtenido el PID, y si le tienes alergia a la linea de comandos, podemos ir al administrador de tareas, y marcamos que nos agregue una columna, mostar el PID


Como ves, ahí sigue Skype mostrando el mismo PID. Puedes sacar la columna del PID en el administrador de tareas de Windows 10 simplemente haciendo click derecho  encima de la barra de columnas (donde nombre, estado, cpu, etc...) y agreggamos PID. En Windows 7, está en "agregar columna, dentro de "vista"