Quick Start Guide
Get up and running with NetTraceX in just a few minutes.
Prerequisites
- Go 1.21 or later
- Terminal emulator (Windows Terminal, iTerm2, etc.)
Installation
Option 1: Build from Source
# Clone the repository
git clone https://github.com/nettracex/nettracex-tui.git
cd nettracex
# Build the application
go build -o bin/nettracex ./cmd/nettracex
# Run the application
./bin/nettracex
Option 2: Go Install
go install github.com/nettracex/nettracex-tui@latest
First Run
When you first run NetTraceX, it will:
- Create a default configuration file at
~/.config/nettracex/nettracex-tui.yaml - Display the main interface with available tools
nettracex
Basic Usage
1. Ping a Host
# Ping Google's DNS server
nettracex ping 8.8.8.8
# Ping with custom parameters
nettracex ping --count 10 --interval 2s google.com
2. Trace Route
# Trace route to a host
nettracex traceroute google.com
# Trace route with custom parameters
nettracex traceroute --max-hops 20 --timeout 5s github.com
3. DNS Lookup
# DNS lookup for a domain
nettracex dns google.com
# DNS lookup for specific record types
nettracex dns --types A,AAAA,MX github.com
4. WHOIS Lookup
# WHOIS lookup for a domain
nettracex whois google.com
# WHOIS lookup with specific server
nettracex whois --server whois.iana.org google.com
5. SSL Certificate Check
# SSL certificate check
nettracex ssl google.com
# SSL check with custom port
nettracex ssl --port 443 github.com
Interactive Mode
NetTraceX also provides an interactive mode for continuous network monitoring:
# Start interactive mode
nettracex interactive
# Or use the short form
nettracex -i
In interactive mode, you can:
- Navigate between different tools using the keyboard
- View real-time results
- Export results in various formats
- Switch between different hosts and parameters
Configuration
Basic Configuration
Edit the configuration file at ~/.config/nettracex/nettracex-tui.yaml:
network:
timeout: 30s
dns_servers:
- "8.8.8.8"
- "1.1.1.1"
ui:
theme: "auto"
animations:
enabled: true
plugins:
enabled:
- "ping"
- "traceroute"
- "dns"
- "whois"
- "ssl"
Environment Variables
You can also configure using environment variables:
export NETTRACEX_NETWORK_TIMEOUT=60s
export NETTRACEX_UI_THEME=dark
export NETTRACEX_LOGGING_LEVEL=debug
Exporting Results
Export to JSON
nettracex ping google.com --export json --output results.json
Export to CSV
nettracex traceroute github.com --export csv --output trace.csv
Export to Text
nettracex dns google.com --export text --output dns.txt
Keyboard Shortcuts
In interactive mode:
q- Quit the applicationh- Show helpr- Refresh current resultse- Export current resultsTab- Switch between tools↑/↓- Navigate through resultsEnter- Execute selected tool
Common Use Cases
Network Troubleshooting
# 1. Check basic connectivity
nettracex ping google.com
# 2. Trace the network path
nettracex traceroute google.com
# 3. Check DNS resolution
nettracex dns google.com
# 4. Verify SSL certificate
nettracex ssl google.com
Continuous Monitoring
# Start interactive mode for continuous monitoring
nettracex interactive
# Or run specific tools in a loop
while true; do
nettracex ping google.com
sleep 30
done
Batch Operations
# Test multiple hosts
for host in google.com github.com stackoverflow.com; do
echo "Testing $host"
nettracex ping $host
nettracex dns $host
done
Troubleshooting
Common Issues
"command not found"
Ensure the binary is in your PATH:
# Check if binary exists
which nettracex
# Add to PATH if needed
export PATH=$PATH:/path/to/nettracex/bin
Permission Denied
Make the binary executable:
chmod +x bin/nettracex
Configuration Issues
Validate your configuration:
nettracex --validate-config
Getting Help
# Show help
nettracex --help
# Show version
nettracex --version
# Show configuration
nettracex --show-config
Next Steps
- Configuration Guide - Learn about advanced configuration options
- API Reference - Explore the complete API
- Plugin Development - Create custom tools
- Contributing - Contribute to the project