A comprehensive open-source network diagnostic utility that combines multiple network probes into one powerful tool
myLG is an advanced network diagnostics and troubleshooting toolkit written in Go that consolidates various network monitoring and analysis functions into a single, efficient command-line interface. Designed for network administrators, DevOps engineers, and security professionals, myLG provides real-time insights into network performance, connectivity, and infrastructure health.
- Local ping and real-time traceroute with visual feedback
- HTTP/HTTPS ping (GET, POST, HEAD methods) for web service monitoring
- Packet analyzer for TCP/IP and other network protocols
- Port scanning capabilities for security assessment
- Network LAN Discovery to identify devices on local networks
- 200+ countries DNS Lookup information
- Popular looking glasses integration (Telia, Level3, NTT, Cogent, KPN)
- BGP route visualization through major network providers
- RIPE database queries (ASN, IP/CIDR information)
- PeeringDB integration for peering policy and network information
- Quick NMS (Network Management System) with SNMP support
- Internet Speed Test for bandwidth analysis
- Web dashboard for visual monitoring and analytics
- Real-time network statistics and performance metrics
- Interactive shell with vi and emacs mode support
- CLI auto-complete and command history
- Configurable options for customization
- Direct shell access to all diagnostic commands
- Colorized output for enhanced readability
- Go 1.12 or higher
- libpcap-dev (for packet capture functionality)
git clone https://github.com/mehrdadrad/mylg.git
cd mylg
go build -o mylg mylg.go
sudo ./mylgdocker build -t mylg .
docker run -it --privileged mylggo get github.com/mehrdadrad/mylg
mylg# Ping a host
mylg> ping google.com
# Trace route to destination
mylg> trace 8.8.8.8
# HTTP ping with custom method
mylg> http ping https://api.github.com -m POST# Use Telia looking glass
mylg> lg telia ping 1.1.1.1
# BGP route query through Level3
mylg> lg level3 bgp 192.168.1.0/24# Network discovery
mylg> disc 192.168.1.0/24
# Port scanning
mylg> scan example.com 80,443,22
# DNS lookup across multiple countries
mylg> ns example.com all
# Packet capture and analysis
mylg> packet eth0 tcp port 80# Start web dashboard
mylg> web start
# Access dashboard at http://localhost:8080myLG is built with a modular architecture consisting of:
- CLI Interface (
cli/) - Interactive command-line interface - Network Probes (
icmp/,http/) - Ping, traceroute, HTTP monitoring - Looking Glasses (
lg/) - Integration with major network providers - Packet Analysis (
packet/) - Network packet capture and analysis - Services (
services/) - Web dashboard and HTTP API - Network Discovery (
disc/) - LAN device discovery - Speed Testing (
speedtest/) - Bandwidth measurement
mylg/
βββ cli/ # Command-line interface
βββ icmp/ # ICMP operations (ping, traceroute)
βββ http/ # HTTP/HTTPS monitoring
βββ lg/ # Looking glass integrations
βββ packet/ # Packet capture and analysis
βββ nms/ # Network management system
βββ ns/ # DNS and name services
βββ disc/ # Network discovery
βββ scan/ # Port scanning
βββ services/ # Web services and dashboard
βββ speedtest/ # Internet speed testing
βββ whois/ # WHOIS queries
go test ./...go build -o mylg mylg.goA Dockerfile is provided for containerized deployments:
docker build -t mylg .
docker run -it --net=host --privileged mylgmyLG supports configuration through:
- Command-line flags
- Configuration files
- Environment variables
- Interactive CLI settings
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all the network providers for their looking glass services
- The Go community for excellent networking libraries
- Contributors who help improve this tool
- π§ Email: imransom29@gmail.com
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
β Star this repository if it helped you!
Made with β€οΈ by imransom29