2026-09-23 09:37:44 -04:00
2026-09-23 09:16:09 -04:00
2026-09-23 09:37:44 -04:00
2026-09-23 09:37:44 -04:00
2026-09-23 09:16:09 -04:00
2026-09-23 09:37:44 -04:00
2026-09-23 09:37:44 -04:00
2026-09-23 09:37:44 -04:00
2026-09-23 09:16:09 -04:00
2026-09-23 09:37:44 -04:00

Argus

A network reconnaissance and monitoring tool built with Rust and Tauri. Combines the functionality of Angry IP Scanner, Advanced IP Scanner, Ping Info View, and Nmap into a single desktop application with a cyber/NOC-themed UI.

Named after Argus Panoptes, the hundred-eyed giant of Greek mythology.

Features

Scanner

  • ICMP ping sweep with unprivileged sockets (no root/admin required)
  • IP range input supporting CIDR, start-end ranges, comma-separated, and mixed formats
  • Reverse DNS hostname resolution
  • TCP connect port scanning with configurable port lists
  • Service banner grabbing (SSH, FTP, SMTP, HTTP)
  • NetBIOS name and workgroup resolution
  • Sortable, filterable, real-time results table
  • Host detail panel with full port breakdown
  • Export to CSV (all hosts or Up-only)
  • Column show/hide preferences (persisted)
  • Row checkboxes with select-all for batch operations

Nmap Integration

  • Shell out to system nmap with scan presets (Quick, Service Detection, OS Detection, Full)
  • Custom argument support
  • Real-time streaming output with color-coded lines
  • Verbose mode toggle
  • Start/stop control

Continuous Ping Monitor

  • Multi-host ping monitoring with configurable intervals (1s to 30s)
  • Per-host statistics: min/avg/max latency, packet loss, consecutive failures
  • Status detection: Up, Down, Degraded
  • State change event logging
  • Add hosts manually or import from scan results

Cross-tab Workflow

  • Send scan results to Monitor or Nmap tabs (all hosts, Up-only, or checked)
  • Right-click context menu: copy IP/hostname, open HTTP/HTTPS, traceroute, send to other tabs
  • Each tab has independent manual input

Other

  • Traceroute via system tracepath (Linux) or tracert (Windows), no privileges required
  • Privilege detection indicator in status bar
  • Auto-update check against Gitea/GitHub releases API
  • Dark cyber/NOC theme with circuit board art and glow effects

Requirements

  • Rust (stable, 2021 edition)
  • Tauri v2 system dependencies
    • Linux: webkit2gtk-4.1, libappindicator3-dev, librsvg2-dev, and related libs
    • Windows: WebView2 runtime (included in Windows 10/11)
  • nmap (optional, for Nmap tab functionality)
  • tracepath or traceroute (optional, for traceroute feature; tracepath is usually pre-installed on Linux)

Building

# Development
cargo tauri dev

# Production build
cargo tauri build

Privileges

The core scanning workflow runs without elevation on all platforms:

  • Linux: Uses unprivileged ICMP datagram sockets (kernel 2.6.30+). Requires user's GID within net.ipv4.ping_group_range.
  • Windows: Uses Win32 IcmpSendEcho2Ex API. No administrator rights required.

Running as root/admin enables additional nmap scan types (OS detection with -O, SYN scanning with -sS).

Tech Stack

Layer Technology
Framework Tauri 2
Backend Rust
Frontend Vanilla JavaScript
Async Tokio
ICMP ping-async
DNS dns-lookup

Project Structure

argus/
├── src-tauri/
│   └── src/
│       ├── commands/       # Tauri IPC command handlers
│       │   ├── actions.rs  # URL launch, privilege check
│       │   ├── export.rs   # CSV export
│       │   ├── monitor.rs  # Continuous ping monitor
│       │   ├── nmap.rs     # Nmap subprocess integration
│       │   ├── scan.rs     # Ping sweep orchestration
│       │   ├── traceroute.rs
│       │   └── updater.rs  # Version check against git releases
│       ├── models/         # Data structures
│       │   ├── host.rs     # HostResult, PortResult, NetbiosInfo
│       │   └── monitor.rs  # MonitorEntry, MonitorStatus
│       ├── net/            # Network utilities
│       │   ├── dns.rs      # Reverse DNS resolution
│       │   └── range.rs    # IP range parsing
│       └── scanner/        # Scanning engines
│           ├── netbios.rs  # NetBIOS NBSTAT queries
│           ├── ping.rs     # ICMP ping sweep
│           └── port.rs     # TCP port scanning + banner grab
├── src/
│   ├── index.html          # App layout
│   ├── styles.css          # Cyber/NOC dark theme
│   └── main.js             # All frontend logic
└── README.md

License

This project is licensed under the GNU Affero General Public License v3.0. See LICENSE for details.

S
Description
No description provided
Readme
1.8 MiB
Frozen Sound
Latest
2026-10-09 13:40:31 -04:00
Languages
Rust 33.9%
JavaScript 30.1%
CSS 27.2%
HTML 8.7%
Shell 0.1%