15 puntos por GN⁺ 2026-01-25 | 1 comentarios | Compartir por WhatsApp
  • Whosthere es una herramienta de exploración de red local escrita en Go que ofrece una interfaz de usuario de terminal (TUI) intuitiva
    • Permite descubrir y explorar dispositivos dentro de la LAN, y comprender la estructura de la red
  • Compatible con Linux, macOS y Windows
  • Identifica dispositivos mediante mDNS, escáneres SSDP e intentos de conexión TCP/UDP para llenar la caché ARP
    • Es posible recopilar la lista de dispositivos usando la caché ARP incluso sin privilegios de administrador
  • Para los dispositivos detectados, muestra información del fabricante mediante búsqueda de OUI (Organizationally Unique Identifier)
  • Licencia Apache-2.0

Funciones principales

  • TUI moderna: ofrece una interfaz para explorar intuitivamente los dispositivos detectados
  • Rápido y concurrente: realiza varios métodos de exploración al mismo tiempo para ofrecer resultados rápidos
  • No requiere privilegios elevados: puede ejecutarse solo con permisos de usuario
  • Enriquecimiento de dispositivos: muestra información del fabricante mediante búsqueda de OUI
  • Escáner de puertos integrado: incluye función de escaneo de puertos para los hosts descubiertos (se recomienda escanear solo dispositivos autorizados)
  • Modo daemon con API HTTP: permite ejecución en segundo plano e integración con herramientas externas
  • Temas y configuración: personalización de temas y comportamiento mediante archivo de configuración YAML

Uso

  • Ejecutar la TUI: whosthere
  • Ejecutar el modo daemon con API HTTP: whosthere daemon --port 8080
    • GET /devices: devuelve la lista de todos los dispositivos descubiertos
    • GET /device/{ip}: devuelve los detalles de un dispositivo específico
    • GET /health: verificación de estado

1 comentarios

 
GN⁺ 2026-01-25
Comentarios de Hacker News
  • Creó una herramienta TUI de descubrimiento LAN escrita en Go. Se llama Whosthere y fue diseñada para permitir explorar dispositivos de la red local sin privilegios de administrador
    Combina mDNS, SSDP, caché ARP, consultas OUI y más para encontrar dispositivos, y ofrece una UI rápida centrada en teclado basada en tview, escáner de puertos integrado, modo daemon con API HTTP y archivo de configuración YAML
    Es un proyecto hecho para aprender Go y redes al mismo tiempo, inspirado en apps TUI como lazygit, k9s y dive
    Se puede instalar con Homebrew o go install, y es compatible con Linux y macOS

    • Es una herramienta muy buena :-) Estaría bien que tuviera una función de búsqueda inversa (reverse lookup) de IP. En mi LAN, los dispositivos sin nombre suelen tener muchas probabilidades de ser intrusos
    • ¡Justo estaba buscando algo así! Lo comparé con otros escáneres, y Advanced IP Scanner sigue siendo el mejor para la detección de nombres de host.
      Los resultados en mi red fueron estos:
      • Advanced IP Scanner: 80 nombres detectados de 309
      • Angry IP Scanner: 75 nombres detectados de 315
      • whosthere: 54 nombres detectados de 318
    • Lo instalé en Raspbian y funciona muy bien. Es mucho mejor que el código improvisado que hice ayer. Si tuviera una función para registrar en logs los dispositivos que van apareciendo, podría usarse incluso como un IDS simple
    • ¡Buenísimo! Hace unos días yo también pensé en una idea parecida, y me da gusto ver algo así hecho realidad. En mi red también funciona bien
    • Si es una TUI, me pregunto por qué tiene dependencia de X11. Pensé que estaría basada en ncurses
  • Existe una frase famosa: “quien no recuerda nmap está condenado a rehacerlo torpemente”
    Comparten un ejemplo de comando que puede terminar un escaneo de /24 en menos de 10 segundos sin permisos de root
    Recomiendan consultar la documentación oficial de nmap

    • Yo también uso nmap con frecuencia, pero esta herramienta parece tener un propósito distinto o funciones adicionales frente a nmap. Me pregunto por qué lo consideran un ejemplo de alguien que ‘no recordó’ nmap
    • LLDP y CDP probablemente también querrían meterse en la conversación
  • Hace 5 años yo también hice una herramienta CLI parecida con la misma idea, y hasta el nombre era igual: la versión polaca de “whosthere”, ktotu
    Enlace al proyecto ktotu
    Esta versión está mucho más pulida, y elegir Go también fue una buena decisión. Me pregunto si la idea se generó con IA

  • En general es una herramienta bien hecha. Estaría bien poder especificar la interfaz a escanear con la opción -i.
    En mi laptop solo el primer escaneo funcionó bien, y después ya no vi solicitudes ARP

    • Sí. Para reducir la carga de red, el escaneo inicial tiene estas limitaciones:
      1. solo escanea la subred de la interfaz especificada
      2. se permite como máximo hasta /16
      3. solo se ejecuta una vez cada 5 minutos (por ahora está hardcodeado)
        La configuración de la interfaz se puede hacer en el archivo YAML, y más adelante también se podrá ajustar con flags de línea de comandos
  • Habría sido más divertido llamarlo “whogoesthere

    • Yo creo que “whodat” le quedaría mejor
  • Me pregunto si la biblioteca estándar de Go tiene funciones especialmente buenas para TUI. Últimamente parece que todas las TUI nuevas están hechas en Go

    • Go tiene compilación y ejecución rápidas, y no tiene restricciones de build complejas como Rust
    • La biblioteca estándar casi no tiene funciones relacionadas con TUI, pero rivo/tview es muy sólida
    • No está en la estándar, pero muchas TUI populares en Go están hechas sobre Bubble Tea. Este proyecto usa tview
  • Habría sido más ingenioso llamarlo “Whose LAN is it anyway?

  • Es una gran muestra de capacidad técnica. Parece que ya entró de verdad en el camino del ingeniero
    No se puede ver directamente el tráfico de red, pero a menudo veo gente intentando diagnosticar problemas sin herramientas como esta
    En la práctica, herramientas como nmap, wireshark, LLDP y CDP son indispensables, y para redes grandes recomiendan Netdisco

  • Es interesante cómo las “TUI modernas” al final están recreando la estética retro de la época de Turbo Vision, Clipper y curses

  • Me pregunto si alguien ya lo probó con Tailscale. Podría ser muy útil, aunque Tailscale todavía no soporta mDNS
    Enlace al issue relacionado