Potentes herramientas para desarrolladores desde línea de comandos
Posted on Tue 07 June 2016 in Herramientas
La línea de comandos sigue siendo el entorno más poderoso para desarrolladores. Estas herramientas especializadas amplían dramáticamente tus capacidades de debugging, testing y análisis.
Curl: El navajero suizo del HTTP¶
# Obtener tu IP pública
curl ifconfig.me
# Inspeccionar headers de respuesta
curl -I https://ejemplo.com
# POST con datos JSON
curl -X POST -H "Content-Type: application/json" \
-d '{"key":"value"}' https://api.ejemplo.com
Uso principal: Transferencia de datos de red, testing de APIs, inspección HTTP.
Ngrep: Grep para tráfico de red¶
# Filtrar tráfico HTTP por palabra clave
ngrep -i "password" port 80
# Capturar por IP específica
ngrep host 192.168.1.100
# Monitorear tráfico en puerto específico
ngrep port 443
Uso principal: Análisis de paquetes de red, debugging de protocolos, monitoreo de tráfico.
Netcat (nc): La navaja suiza del networking¶
# Escaneo de puertos
nc -zv ejemplo.com 1-1000
# Transferir archivo entre servidores
# Receptor: nc -l 1234 > archivo_recibido
# Emisor: nc servidor_destino 1234 < archivo_enviar
# Crear servidor HTTP simple
echo "HTTP/1.1 200 OK\n\nHola mundo" | nc -l 8080
Uso principal: Escaneo de puertos, transferencia de archivos, testing de conectividad.
Sshuttle: VPN fácil con SSH¶
# Tunelar todo el tráfico
sshuttle -r usuario@servidor 0.0.0.0/0
# Tunelar solo una subred
sshuttle -r usuario@servidor 192.168.1.0/24
# Evitar geobloqueos
sshuttle -r servidor_remoto 0.0.0.0/0 --dns
Uso principal: Tunneling seguro, bypass de geo-restricciones, protección en WiFi público.
Siege: Bombardeo de carga HTTP¶
# Test de carga simple
siege -c 25 -t 60s https://ejemplo.com
# Test con múltiples URLs
siege -c 50 -t 30s -f urls.txt
# Benchmark específico
siege -c 100 -r 10 https://api.ejemplo.com/endpoint
Uso principal: Testing de rendimiento, benchmarking HTTP, simulación de carga.
Mitmproxy: Espía del tráfico HTTP/S¶
# Proxy básico
mitmproxy -p 8080
# Modo transparent
mitmproxy --mode transparent
# Guardar tráfico en archivo
mitmdump -w captura.flow
Uso principal: Debugging de aplicaciones web, inspección de tráfico HTTPS, análisis de APIs.
Flujo de trabajo típico¶
# 1. Escanear conectividad
nc -zv api.ejemplo.com 443
# 2. Analizar respuesta
curl -I https://api.ejemplo.com
# 3. Monitorear tráfico
ngrep -i "api" port 443
# 4. Test de carga
siege -c 20 -t 30s https://api.ejemplo.com
# 5. Debugging detallado
mitmproxy -p 8080
¿Por qué línea de comandos?¶
- Velocidad: Sin overhead de GUI
- Scriptabilidad: Automatización completa
- Flexibilidad: Combinación con pipes y redirects
- Universalidad: Disponible en cualquier servidor
Estas herramientas convierten tu terminal en un laboratorio completo de networking y testing.
Fuente original: Somos Apañados