Big Network Info is a modern GTK4 application to discover network devices, analyze WiFi networks, detect open services, and troubleshoot connectivity issues with ease.
- Network Diagnostics:
- Test network interface status and link connectivity.
- Verify IP configuration, default gateway, and DNS settings.
- Test DNS resolution and internet access.
- Determine external IP address (IPv4 & IPv6).
- Parallel execution of diagnostic steps for speed.
- Device Discovery (Network Scan):
- Discover live hosts on the specified network range.
- Enhanced host discovery using Ping, ARP table, and TCP probes.
- Resolve hostnames using standard DNS and Avahi (mDNS for local devices).
- Identify MAC addresses and vendor information (requires
ieee-oui.txt).
- Service Detection:
- Scan for common network services (HTTP, HTTPS, SSH, FTP, SMB, RDP, etc.).
- Support for custom user-defined services and ports.
- Parallel port scanning for faster results.
- Modern GTK4 Interface:
- User-friendly GUI built with LibAdwaita for a clean, modern look.
- Tabbed interface for Diagnostics, Device Scanning, and Settings.
- Real-time progress updates for scans and diagnostics.
- Interactive results display with options to open services, copy information, and ping devices.
- Built-in ping utility.
- Configuration Management:
- Adjust scan parameters: timeouts (ping, hostname, port scan), thread counts (discovery, port scan).
- Manage custom services: add, edit, remove, import/export from JSON.
- Persistent configuration stored in
~/.config/big-network-scanner/config.json.
- Reporting:
- Export detailed network scan results to PDF.
- Export network diagnostics reports to PDF.
- Internationalization:
- Supports translations (uses
gettext).
- Supports translations (uses
- Welcome Screen:
- Provides an overview of features on first launch or when manually shown.
- Option to disable welcome screen on startup.
- Python 3.10+
- GTK4
- LibAdwaita
These will be installed via pip. A requirements.txt should be created.
netifacesrequestsreportlabPyGObject(usually installed with GTK bindings)
These tools are generally expected to be available on a Linux system. The application uses them via subprocess.
pingip(fromiproute2package:ip link,ip addr,ip route,ip neigh)arp(fromnet-toolspackage, used as a fallback ifip neighfails or isn't preferred)avahi-resolve&avahi-browse(fromavahipackage, for enhanced local hostname resolution and service discovery)xdg-open(for opening URLs, SFTP, SMB links in default applications)- A terminal emulator (e.g.,
gnome-terminal,konsole,xfce4-terminal,xterm) for SSH connections. - (Highly Recommended for Vendor Info)
ieee-oui.txt: Typically located at/usr/share/arp-scan/ieee-oui.txtor similar paths. This file is used for MAC address to vendor mapping. On Arch Linux, this is provided by thearp-scanpackage.
-
Clone the repository:
git clone https://github.com/biglinux/big-network-info.git cd big-network-info -
Set up a Python virtual environment (recommended):
python -m venv .venv source .venv/bin/activate -
Install system dependencies:
-
For Arch Linux / BigLinux:
sudo pacman -Syu gtk4 libadwaita python-gobject \ python-netifaces python-requests python-reportlab \ iproute2 net-tools avahi arp-scan xdg-utils(Note:
arp-scanprovidesieee-oui.txtandarp-scanutility,net-toolsprovidesarp) -
For Debian/Ubuntu based systems:
sudo apt update sudo apt install gir1.2-gtk-4.0 gir1.2-adw-1 \ python3-gi python3-gi-cairo \ python3-netifaces python3-requests python3-reportlab \ iproute2 net-tools avahi-daemon avahi-utils arp-scan xdg-utils -
For Fedora:
sudo dnf install gtk4 libadwaita python3-gobject \ python3-netifaces python3-requests python3-reportlab \ iproute net-tools avahi avahi-tools arp-scan xdg-utils
Ensure you have a terminal emulator installed if you want to use the SSH "Open in Terminal" feature (e.g.,
gnome-terminal,konsole). -
-
Install Python dependencies: Create a
requirements.txtfile in the project root:# requirements.txt netifaces requests reportlab # PyGObject is usually handled by system package manager, but can be listed if needed # PyGObject
Then install them:
pip install -r requirements.txt
Once all dependencies are installed, you can run the application from the project's root directory:
python main.py- Application settings, including custom services and scan parameters, are stored in:
~/.config/big-network-scanner/config.json - These settings can be managed through the "Settings" tab within the application.
- The "Show welcome on startup" preference is also stored here.
Contributions are welcome! If you'd like to contribute, please:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes.
- Ensure your code follows the existing style.
- Test your changes thoroughly.
- Submit a pull request with a clear description of your changes.
This project is licensed under the GNU General Public License v2.0. See the LICENSE file or link for details.







