Discovering the Power of Network Visualization: How I Created NetVisor
A Tool to Automatically Map Your Network Topology
I’ve always been fascinated by the complexity of home networks and the various devices that connect to them. As someone who loves to tinker with technology, I wanted to find a way to visualize my network and understand how all the different components interact with each other. That’s why I created NetVisor, a tool that automatically discovers and visually documents network topology.
My journey to creating NetVisor began when I saw posts from others who had visually documented their home networks. I was impressed by the diagrams and wanted to create one for myself, but I didn’t have the time to learn a new diagramming tool. So, I decided to take the technical overkill route and build an open-source tool to do it for me.
How NetVisor Works
NetVisor is designed to be easy to use and requires minimal setup. Here’s how it works:
- First, you install the daemon and server, both of which are dockerized for easy deployment.
- Next, the daemon scans the IP addresses on the connected VLANs, using pattern matching to detect common self-hosted services like Home Assistant and Plex.
- Finally, the server generates an interactive visualization of the network topology, showing how all the devices and services connect to each other.
I’ve been using NetVisor to visualize my own home network, which consists of a few virtualized services running on Proxmox. I’ve been impressed by how accurately it detects the different devices and services, and how easy it is to use the generated visualization to understand my network topology.
My Setup
I’m running Proxmox on a Beelink Mini S12 Pro, with a few virtualized services like Home Assistant and Plex. I use Wireguard on my personal devices to access these services when I’m away from home. NetVisor has been instrumental in helping me understand how all these different components interact with each other, and it’s made it easier for me to manage and troubleshoot my network.
Technical Details
NetVisor is built using a Rust backend and a Svelte frontend. It’s designed to be highly customizable and can be run on multiple daemons across different network segments for VLAN use cases. The discovery process typically takes around 5-10 minutes, depending on the size of the network, and scans all IPs on the subnets to identify services through port detection and HTTP endpoint analysis.
I’ve also used AI to assist with the development process, particularly with the graph optimization algorithms involved in generating the visualizations. However, I’ve been hands-on with every line of code to ensure that NetVisor meets my high standards.
Conclusion
NetVisor has been a game-changer for me, and I’m excited to share it with the community. Whether you’re a seasoned network administrator or just someone who wants to understand their home network better, NetVisor is a powerful tool that can help. I’m always looking for feedback and feature ideas, so please don’t hesitate to reach out and let me know what you think.
Odkrywanie Mocy Wizualizacji Sieci: Jak Stworzyłem NetVisor
Narzędzie Do Automatycznego Mapowania Topologii Sieci
Zawsze byłem fascynowany złożonością sieci domowych i różnymi urządzeniami, które do nich łączą się. Jako osoba, która lubi eksperymentować z technologią, chciałem znaleźć sposób na wizualizację mojej sieci i zrozumieć, jak wszystkie różne komponenty wzajemnie ze sobą interaktywnie. Dlatego stworzyłem NetVisor, narzędzie, które automatycznie odkrywa i dokumentuje topologię sieci.
Moja podróż do stworzenia NetVisor rozpoczęła się, gdy zobaczyłem posty od innych, którzy wizualnie udokumentowali swoje sieci domowe. Byłem zaskoczony diagramami i chciałem stworzyć jeden dla siebie, ale nie miałem czasu, aby nauczyć się nowego narzędzia do tworzenia diagramów. Zdecydowałem się więc zabrać drogę technicznego przeciążenia i stworzyć otwarte źródło narzędzia, aby to zrobić dla mnie.
Jak Działa NetVisor
NetVisor jest zaprojektowany, aby być łatwy w użyciu i wymaga minimalnej konfiguracji. Oto jak to działa:
- Pierwszym krokiem jest zainstalowanie demona i serwera, oba z których są dockerized dla łatwego wdrożenia.
- Następnie, demon skanuje adresy IP na połączonych sieciach VLAN, używając dopasowania wzorca do wykrycia wspólnych usług samoobsługowych, takich jak Home Assistant i Plex.
- W końcu, serwer generuje interaktywną wizualizację topologii sieci, pokazując, jak wszystkie urządzenia i usługi łączą się ze sobą.
Używałem NetVisor do wizualizacji mojej własnej sieci domowej, która składa się z kilku usług wirtualizowanych na Proxmox. Byłem zaskoczony tym, jak dokładnie wykrywa różne urządzenia i usługi, i jak łatwo jest używać wygenerowanej wizualizacji, aby zrozumieć moją topologię sieci.
Moja Konfiguracja
Uruchamiam Proxmox na Beelink Mini S12 Pro, z kilkoma usługami wirtualizowanymi, takimi jak Home Assistant i Plex. Używam Wireguard na moich urządzeniach osobistych, aby uzyskać dostęp do tych usług, gdy jestem poza domem. NetVisor był niezwykle pomocny w pomocy mi zrozumieć, jak wszystkie te różne komponenty wzajemnie ze sobą interaktywnie, i ułatwił mi zarządzanie i rozwiązywanie problemów z moją siecią.
Szczegóły Techniczne
NetVisor jest zbudowany z wykorzystaniem backendu Rust i frontendu Svelte. Jest zaprojektowany, aby być wysoko konfigurowalny i może być uruchomiony na wielu demonach na różnych segmentach sieci dla przypadków użycia VLAN. Proces wykrycia zazwyczaj trwa około 5-10 minut, w zależności od wielkości sieci, i skanuje wszystkie adresy IP na podsieciach, aby zidentyfikować usługi za pomocą wykrycia portów i analizy punktów końcowych HTTP.
Używałem również AI, aby pomóc w procesie rozwoju, szczególnie z algorytmami optymalizacji grafu zaangażowanymi w generowanie wizualizacji. Jednak byłem zaangażowany w każdą linię kodu, aby upewnić się, że NetVisor spełnia moje wysokie standardy.
Podsumowanie
NetVisor był przełomowy dla mnie, i jestem podekscytowany, aby podzielić się nim z społecznością. Niezależnie od tego, czy jesteś doświadczonym administratorem sieci, czy po prostu kimś, kto chce lepiej zrozumieć swoją sieć domową, NetVisor jest potężnym narzędziem, które może pomóc. Zawsze szukam opinii i pomysłów na nowe funkcje, więc proszę nie wahaj się skontaktować ze mną i powiedzieć, co o tym myślisz.