|
|
--- |
|
|
title: Luminet - Open Source Network Analysis Tool |
|
|
emoji: 🌐 |
|
|
colorFrom: purple |
|
|
colorTo: blue |
|
|
sdk: gradio |
|
|
sdk_version: 5.46.0 |
|
|
app_file: app.py |
|
|
pinned: false |
|
|
--- |
|
|
|
|
|
# 🌐 Luminet - Open Source Network Analysis Tool |
|
|
|
|
|
[](https://hub.docker.com) |
|
|
[](https://huggingface.co/spaces) |
|
|
[](https://python.org) |
|
|
[](LICENSE) |
|
|
|
|
|
**🇬🇧 English** | [🇹🇷 Türkçe](#-türkçe---proje-açıklaması) |
|
|
|
|
|
--- |
|
|
|
|
|
## 📖 Overview |
|
|
|
|
|
**Luminet** is a comprehensive open-source network analysis tool designed for cybersecurity professionals, network administrators, and researchers. It provides detailed reconnaissance capabilities for IP addresses and domain names using only public, free data sources. |
|
|
|
|
|
### ✨ Key Features |
|
|
|
|
|
- **🔍 RDAP/WHOIS Analysis** - Comprehensive registry data lookup |
|
|
- **🌐 DNS Records Enumeration** - A, AAAA, MX, NS, TXT, CNAME, SOA records |
|
|
- **🗺️ Geographic Location Mapping** - IP geolocation and ISP information |
|
|
- **🛡️ Security Assessment** - DNSBL checks, anonymity service detection |
|
|
- **🔒 SSL/TLS Certificate Analysis** - Certificate chain and security validation |
|
|
- **📊 Network Routing Analysis** - Traceroute and BGP information |
|
|
- **⚡ Real-time Ping Statistics** - Latency and connectivity testing |
|
|
- **🔌 Port Scanning** - Open port detection and service identification |
|
|
|
|
|
--- |
|
|
|
|
|
## 🚀 Quick Start |
|
|
|
|
|
### Using Docker (Recommended) |
|
|
|
|
|
```bash |
|
|
# Clone the repository |
|
|
git clone https://github.com/koesan/Luminet.git |
|
|
cd Luminet |
|
|
|
|
|
# Run with Docker Compose |
|
|
docker-compose up -d |
|
|
|
|
|
# Access the application |
|
|
open http://localhost:7860 |
|
|
``` |
|
|
|
|
|
### Using Docker Hub |
|
|
|
|
|
```bash |
|
|
# Pull and run from Docker Hub |
|
|
docker run -p 7860:7860 koesan/luminet:latest |
|
|
``` |
|
|
|
|
|
### Manual Installation |
|
|
|
|
|
```bash |
|
|
# Clone repository |
|
|
git clone https://github.com/koesan/Luminet.git |
|
|
cd Luminet |
|
|
|
|
|
# Install system dependencies (Ubuntu/Debian) |
|
|
sudo apt update |
|
|
sudo apt install -y python3 python3-pip traceroute nmap mtr dnsutils |
|
|
|
|
|
# Create virtual environment |
|
|
python3 -m venv venv |
|
|
source venv/bin/activate |
|
|
|
|
|
# Install Python dependencies |
|
|
pip install -r requirements.txt |
|
|
|
|
|
# Run the application |
|
|
python main.py |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## 📋 System Requirements |
|
|
|
|
|
### Minimum Requirements |
|
|
- **OS**: Linux (Ubuntu 20.04+ recommended), macOS, Windows |
|
|
- **Python**: 3.11 or higher |
|
|
- **Memory**: 512 MB RAM |
|
|
- **Storage**: 100 MB free space |
|
|
|
|
|
### Recommended System Tools |
|
|
- `traceroute` - Network path tracing |
|
|
- `nmap` - Port scanning capabilities |
|
|
- `mtr` - Enhanced network diagnostics |
|
|
- `dig`/`nslookup` - DNS utilities |
|
|
|
|
|
--- |
|
|
|
|
|
## 🛠️ Technology Stack |
|
|
|
|
|
### Backend |
|
|
- **Framework**: Flask 2.3.3 |
|
|
- **Language**: Python 3.11+ |
|
|
- **Networking**: dnspython, requests, python-whois |
|
|
- **Security**: pyOpenSSL, scapy |
|
|
|
|
|
### Frontend |
|
|
- **UI Framework**: Bootstrap 5.3.3 |
|
|
- **Icons**: Bootstrap Icons 1.11.3 |
|
|
- **Fonts**: Inter (Google Fonts) |
|
|
- **Styling**: Custom CSS with CSS Grid & Flexbox |
|
|
|
|
|
### Infrastructure |
|
|
- **Containerization**: Docker & Docker Compose |
|
|
- **Process Management**: Gunicorn WSGI server |
|
|
- **Health Monitoring**: Built-in health checks |
|
|
|
|
|
--- |
|
|
|
|
|
## 📦 Docker Deployment |
|
|
|
|
|
### For Hugging Face Spaces |
|
|
|
|
|
Create an `app.py` file in your Hugging Face Space: |
|
|
|
|
|
```python |
|
|
import subprocess |
|
|
import sys |
|
|
|
|
|
# Install system dependencies |
|
|
subprocess.run(["apt-get", "update"], check=True) |
|
|
subprocess.run([ |
|
|
"apt-get", "install", "-y", |
|
|
"traceroute", "nmap", "mtr", "dnsutils", "iputils-ping" |
|
|
], check=True) |
|
|
|
|
|
# Run the main application |
|
|
from main import app |
|
|
|
|
|
if __name__ == "__main__": |
|
|
app.run(host="0.0.0.0", port=7860) |
|
|
``` |
|
|
|
|
|
### Production Deployment |
|
|
|
|
|
```dockerfile |
|
|
FROM python:3.11-slim |
|
|
|
|
|
RUN apt-get update && apt-get install -y \ |
|
|
traceroute nmap mtr dnsutils iputils-ping \ |
|
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
WORKDIR /app |
|
|
COPY requirements.txt . |
|
|
RUN pip install --no-cache-dir -r requirements.txt |
|
|
|
|
|
COPY . . |
|
|
EXPOSE 7860 |
|
|
|
|
|
CMD ["gunicorn", "--bind", "0.0.0.0:7860", "main:app"] |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## 🔧 Configuration |
|
|
|
|
|
### Environment Variables |
|
|
|
|
|
```bash |
|
|
# Application settings |
|
|
PORT=7860 # Server port |
|
|
SECRET_KEY=your-secret-key # Flask secret key |
|
|
|
|
|
# Optional API keys (for enhanced features) |
|
|
IPINFO_TOKEN=your-token # IPinfo.io API token |
|
|
SHODAN_API_KEY=your-key # Shodan API key (if available) |
|
|
``` |
|
|
|
|
|
### Custom Configuration |
|
|
|
|
|
Edit `main.py` to customize: |
|
|
|
|
|
```python |
|
|
# Request timeout settings |
|
|
REQUEST_DELAY = 0.1 # Rate limiting delay |
|
|
RESOLVER_TIMEOUT = 5 # DNS resolver timeout |
|
|
|
|
|
# Feature toggles |
|
|
ENABLE_PORT_SCAN = True # Enable/disable port scanning |
|
|
ENABLE_TRACEROUTE = True # Enable/disable traceroute |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## 🔍 Usage Examples |
|
|
|
|
|
### Web Interface |
|
|
1. Open `http://localhost:7860` in your browser |
|
|
2. Enter an IP address or domain name |
|
|
3. Click "Analyze" to get comprehensive results |
|
|
|
|
|
### API Usage |
|
|
|
|
|
```bash |
|
|
# Analyze an IP address |
|
|
curl -X POST http://localhost:7860/api/analyze \ |
|
|
-H "Content-Type: application/json" \ |
|
|
-d '{"ip": "8.8.8.8"}' |
|
|
|
|
|
# Example response |
|
|
{ |
|
|
"ip": "8.8.8.8", |
|
|
"ipinfo": { |
|
|
"city": "Mountain View", |
|
|
"country": "US", |
|
|
"org": "AS15169 Google LLC" |
|
|
}, |
|
|
"ping": { |
|
|
"min": "10.2 ms", |
|
|
"avg": "12.5 ms", |
|
|
"max": "15.1 ms" |
|
|
} |
|
|
} |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## 🤝 Contributing |
|
|
|
|
|
We welcome contributions! Here's how you can help: |
|
|
|
|
|
### Development Setup |
|
|
|
|
|
```bash |
|
|
# Fork and clone the repository |
|
|
git clone https://github.com/yourusername/Luminet.git |
|
|
cd Luminet |
|
|
|
|
|
# Create feature branch |
|
|
git checkout -b feature/your-feature-name |
|
|
|
|
|
# Make your changes and commit |
|
|
git commit -am "Add your feature" |
|
|
git push origin feature/your-feature-name |
|
|
|
|
|
# Create a Pull Request |
|
|
``` |
|
|
|
|
|
### Code Style |
|
|
- Follow PEP 8 for Python code |
|
|
- Use meaningful variable names |
|
|
- Add docstrings for functions |
|
|
- Write unit tests for new features |
|
|
|
|
|
--- |
|
|
|
|
|
## 📄 License |
|
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
|
|
|
|
|
--- |
|
|
|
|
|
## 🙏 Acknowledgments |
|
|
|
|
|
- **IANA** - Internet registry data |
|
|
- **RIPEstat** - BGP and routing information |
|
|
- **ipinfo.io** - Geolocation services |
|
|
- **Bootstrap** - UI framework |
|
|
- **Flask** - Web framework |
|
|
|
|
|
--- |
|
|
|
|
|
## 📞 Support |
|
|
|
|
|
- **Issues**: [GitHub Issues](https://github.com/koesan/Luminet/issues) |
|
|
- **Discussions**: [GitHub Discussions](https://github.com/koesan/Luminet/discussions) |
|
|
- **Email**: koesan@example.com |
|
|
|
|
|
--- |
|
|
|
|
|
# 🇹🇷 Türkçe - Proje Açıklaması |
|
|
|
|
|
## 📖 Genel Bakış |
|
|
|
|
|
**Luminet**, siber güvenlik uzmanları, ağ yöneticileri ve araştırmacılar için tasarlanmış kapsamlı bir açık kaynak ağ analiz aracıdır. Yalnızca halka açık, ücretsiz veri kaynaklarını kullanarak IP adresleri ve alan adları için detaylı keşif yetenekleri sağlar. |
|
|
|
|
|
### ✨ Temel Özellikler |
|
|
|
|
|
- **🔍 RDAP/WHOIS Analizi** - Kapsamlı kayıt veri arama |
|
|
- **🌐 DNS Kayıt Numaralandırması** - A, AAAA, MX, NS, TXT, CNAME, SOA kayıtları |
|
|
- **🗺️ Coğrafi Konum Haritalaması** - IP coğrafi konum ve ISS bilgileri |
|
|
- **🛡️ Güvenlik Değerlendirmesi** - DNSBL kontrolleri, anonimlik hizmeti tespiti |
|
|
- **🔒 SSL/TLS Sertifika Analizi** - Sertifika zinciri ve güvenlik doğrulaması |
|
|
- **📊 Ağ Yönlendirme Analizi** - Traceroute ve BGP bilgileri |
|
|
- **⚡ Gerçek Zamanlı Ping İstatistikleri** - Gecikme ve bağlanabilirlik testi |
|
|
- **🔌 Port Tarama** - Açık port tespiti ve servis tanımlama |
|
|
|
|
|
## 🚀 Hızlı Başlangıç |
|
|
|
|
|
### Docker Kullanarak (Önerilen) |
|
|
|
|
|
```bash |
|
|
# Depoyu klonlayın |
|
|
git clone https://github.com/koesan/Luminet.git |
|
|
cd Luminet |
|
|
|
|
|
# Docker Compose ile çalıştırın |
|
|
docker-compose up -d |
|
|
|
|
|
# Uygulamaya erişin |
|
|
open http://localhost:7860 |
|
|
``` |
|
|
|
|
|
### Manuel Kurulum |
|
|
|
|
|
```bash |
|
|
# Depoyu klonlayın |
|
|
git clone https://github.com/koesan/Luminet.git |
|
|
cd Luminet |
|
|
|
|
|
# Sistem bağımlılıklarını kurun (Ubuntu/Debian) |
|
|
sudo apt update |
|
|
sudo apt install -y python3 python3-pip traceroute nmap mtr dnsutils |
|
|
|
|
|
# Sanal ortam oluşturun |
|
|
python3 -m venv venv |
|
|
source venv/bin/activate |
|
|
|
|
|
# Python bağımlılıklarını kurun |
|
|
pip install -r requirements.txt |
|
|
|
|
|
# Uygulamayı çalıştırın |
|
|
python main.py |
|
|
``` |
|
|
|
|
|
## 📋 Sistem Gereksinimleri |
|
|
|
|
|
### Minimum Gereksinimler |
|
|
- **İşletim Sistemi**: Linux (Ubuntu 20.04+ önerilir), macOS, Windows |
|
|
- **Python**: 3.11 veya üzeri |
|
|
- **Bellek**: 512 MB RAM |
|
|
- **Depolama**: 100 MB boş alan |
|
|
|
|
|
### Önerilen Sistem Araçları |
|
|
- `traceroute` - Ağ yolu izleme |
|
|
- `nmap` - Port tarama yetenekleri |
|
|
- `mtr` - Gelişmiş ağ tanılama |
|
|
- `dig`/`nslookup` - DNS araçları |
|
|
|
|
|
## 🛠️ Teknoloji Yığını |
|
|
|
|
|
### Arka Uç |
|
|
- **Framework**: Flask 2.3.3 |
|
|
- **Dil**: Python 3.11+ |
|
|
- **Ağ İletişimi**: dnspython, requests, python-whois |
|
|
- **Güvenlik**: pyOpenSSL, scapy |
|
|
|
|
|
### Ön Uç |
|
|
- **UI Framework**: Bootstrap 5.3.3 |
|
|
- **İkonlar**: Bootstrap Icons 1.11.3 |
|
|
- **Yazı Tipleri**: Inter (Google Fonts) |
|
|
- **Stil**: CSS Grid ve Flexbox ile özel CSS |
|
|
|
|
|
## 🔍 Kullanım Örnekleri |
|
|
|
|
|
### Web Arayüzü |
|
|
1. Tarayıcınızda `http://localhost:7860` adresini açın |
|
|
2. Bir IP adresi veya alan adı girin |
|
|
3. Kapsamlı sonuçlar için "Analiz Et" düğmesine tıklayın |
|
|
|
|
|
### API Kullanımı |
|
|
|
|
|
```bash |
|
|
# Bir IP adresini analiz etme |
|
|
curl -X POST http://localhost:7860/api/analyze \ |
|
|
-H "Content-Type: application/json" \ |
|
|
-d '{"ip": "8.8.8.8"}' |
|
|
``` |
|
|
|
|
|
## 📄 Lisans |
|
|
|
|
|
Bu proje MIT Lisansı altında lisanslanmıştır - detaylar için [LICENSE](LICENSE) dosyasına bakın. |
|
|
|
|
|
--- |
|
|
|
|
|
<div align="center"> |
|
|
<p>Made with ❤️ by the Luminet community</p> |
|
|
<p>🌟 Star this repo if you find it useful!</p> |
|
|
</div> |