Día 3 NETWORKING BÁSICO (7 DÍAS)
Puertos, conexiones y servicios: netstat, ss, curl, nc
(las herramientas que usa un técnico de verdad cuando algo no responde)
1. Objetivo del día
Hoy aprenderás a detectar:
- qué puertos están abiertos
- qué procesos están escuchando
- si un servicio responde
- si un puerto remoto está accesible
- cómo probar HTTP, HTTPS, APIs y sockets
Usarás:
ss(la herramienta moderna)netstat(todavía presente en muchos sistemas)curl(indispensable para HTTP/HTTPS)nconetcat(la navaja suiza de red)
Al final del día podrás diagnosticar la mayor parte de los problemas de red entre servidores.
2. ss — La herramienta moderna para ver conexiones y puertos
ss reemplaza a netstat en Linux. Es más rápido y más preciso.
✔ Ver puertos que están escuchando
ss -tulnp
Significado:
-tTCP-uUDP-llistening-nno resolver nombres-pmostrar proceso
Ejemplo de salida:
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1203,fd=3))
3. netstat — El clásico (todavía usado en Windows)
En Linux aún existe, pero en Windows es muy útil:
netstat -ano
Muestra:
- puertos abiertos
- conexiones activas
- PID del proceso que las usa
Opciones típicas:
-a todas las conexiones y puertos escuchando
-n sin resolver nombres
-o mostrar PID
Ejemplo:
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1234
PID 1234 = proceso que escucha en el puerto 80.
4. curl — Pruebas HTTP, HTTPS, APIs REST y endpoints
curl sirve para hacer pruebas reales de servicios web.
✔ Ver si un sitio responde (solo cabeceras)
curl -I https://google.com
Muestra cosas como:
HTTP/2 200
content-type: text/html
server: gws
✔ Hacer una petición real y ver contenido
curl https://example.com
✔ Verificar solo el código de estado
curl -o /dev/null -s -w "%{http_code}" https://example.com
Este comando se usa muchísimo en scripts de monitorización.
5. nc — Netcat, la navaja suiza de red
nc -zv prueba puertos remotos.
Es uno de los comandos más útiles para técnicos y DevOps.
✔ Probar si un puerto está abierto:
nc -zv google.com 443
Salida:
Connection to google.com 443 port [tcp/https] succeeded!
Si falla:
nc: connect to google.com port 443 (tcp) failed: Connection refused
✔ Probar un rango de puertos
nc -zv 192.168.1.10 20-80
✔ Crear un servidor TCP simple (opcional)
nc -l 8080
En otra terminal:
echo "Hola" | nc localhost 8080
Muy útil para pruebas internas.
6. Cómo diagnosticar un problema real (mini guía)
🎯 Caso típico: «No entra a la web del servidor interno».
1️⃣ ¿Responde el host?
ping servidor
2️⃣ ¿Resuelve DNS?
nslookup servidor
3️⃣ ¿Está escuchando el servicio?
ss -tulnp | grep 80
4️⃣ ¿Responde el puerto desde tu máquina?
nc -zv servidor 80
5️⃣ ¿Devuelve HTTP correcto?
curl -I http://servidor
Si algo falla → ya sabes exactamente dónde mirar.
7. Práctica guiada del Día 3 (20–30 min)
✔ 1) Ver tus puertos locales
ss -tulnp
En Windows:
netstat -ano
✔ 2) Probar puertos remotos
nc -zv google.com 443
nc -zv github.com 22
✔ 3) Probar HTTP con curl
curl -I https://github.com
curl -I http://example.com
✔ 4) Buscar qué proceso usa un puerto (Windows)
netstat -ano | findstr 443
Luego:
tasklist | findstr <PID>
✔ 5) Diagnosticar un servicio interno (simulado)
nc -zv localhost 8080
curl -I http://localhost:8080
8. Checklist del Día 3
- Sé ver puertos y procesos con ss
- Sé usar netstat en Windows
- Sé probar HTTP con curl
- Sé probar puertos remotos con nc
- Sé diagnosticar un problema de red real
- He hecho la práctica guiada
Si todo marcado → Networking Día 3 completado ✔
¿Listo para avanzar?
🟦 Día 4 – Seguridad básica en redes: firewalls, puertos bloqueados, UFW y Windows Firewall
(lo justo y necesario para no romper nada y saber por qué un puerto no abre)
