Skip to content

alikesk222/pyportscanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 PyPortScanner

    ____        ____            __  _____                                 
   / __ \__  __/ __ \____  ____/ /_/ ___/_________ _____  ____  ___  _____
  / /_/ / / / / /_/ / __ \/ __  __/\__ \/ ___/ __ `/ __ \/ __ \/ _ \/ ___/
 / ____/ /_/ / ____/ /_/ / /_/ /_ ___/ / /__/ /_/ / / / / / / /  __/ /    
/_/    \__, /_/    \____/\__,_/(_)____/\___/\__,_/_/ /_/_/ /_/\___/_/     
      /____/                                                              

Hızlı, çok iş parçacıklı Python port tarayıcı

Python Version License Platform


✨ Özellikler

  • 🚀 Hızlı Tarama - Multi-threading ile paralel port tarama
  • 🔎 Servis Tanıma - 100+ yaygın port/servis tanımlama
  • 📡 Banner Grabbing - Servis banner bilgisi toplama
  • 💾 Çoklu Çıktı - JSON ve TXT formatlarında kayıt
  • 🎯 Esnek Port Seçimi - Aralık (1-1000) veya liste (80,443,8080)
  • ⏱️ Timeout Kontrolü - Ayarlanabilir bağlantı zaman aşımı

📦 Kurulum

PyPI'den Kurulum (Önerilir)

pip install pyportscanner

Kaynaktan Kurulum

git clone https://github.com/alikesk222/pyportscanner.git
cd pyportscanner
pip install -e .

🚀 Kullanım

Temel Kullanım

# Tek bir hedefi tara
python -m port_scanner -t 192.168.1.1

# Belirli port aralığını tara
python -m port_scanner -t example.com -p 1-1000

# Belirli portları tara
python -m port_scanner -t 192.168.1.1 -p 22,80,443,8080

Gelişmiş Kullanım

# 100 thread ile hızlı tarama
python -m port_scanner -t 192.168.1.1 -p 1-65535 -T 100

# Sonuçları JSON dosyasına kaydet
python -m port_scanner -t example.com -p 1-1000 -o results.json

# Detaylı çıktı ile tarama
python -m port_scanner -t example.com -p 1-100 -v

# Özel timeout değeri ile tarama
python -m port_scanner -t 192.168.1.1 -p 1-1000 --timeout 2

Komut Satırı Seçenekleri

Seçenek Kısa Açıklama Varsayılan
--target -t Hedef IP adresi veya hostname (Zorunlu)
--ports -p Port aralığı veya listesi 1-1024
--threads -T Eşzamanlı thread sayısı 50
--timeout Bağlantı zaman aşımı (saniye) 1.0
--output -o Çıktı dosyası (json/txt) -
--verbose -v Detaylı çıktı modu False

📋 Örnek Çıktı

╔══════════════════════════════════════════════════════════════╗
║                     PyPortScanner v1.0.0                     ║
╚══════════════════════════════════════════════════════════════╝

[*] Hedef: example.com (93.184.216.34)
[*] Port Aralığı: 1-1000
[*] Thread Sayısı: 50
[*] Tarama başlatılıyor...

[+] Port 22/tcp    AÇIK    ssh         OpenSSH 8.2p1
[+] Port 80/tcp    AÇIK    http        nginx/1.18.0
[+] Port 443/tcp   AÇIK    https       

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[✓] Tarama tamamlandı!
[*] Toplam: 1000 port tarandı
[*] Açık: 3 | Kapalı: 997
[*] Süre: 12.34 saniye
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🐍 Python API Kullanımı

from port_scanner import PortScanner

# Scanner oluştur
scanner = PortScanner(
    target="192.168.1.1",
    ports="1-1000",
    threads=50,
    timeout=1.0
)

# Taramayı başlat
results = scanner.scan()

# Sonuçları işle
for port, info in results.items():
    if info['state'] == 'open':
        print(f"Port {port}: {info['service']} - {info['banner']}")

📁 Proje Yapısı

pyportscanner/
├── README.md
├── LICENSE
├── requirements.txt
├── setup.py
├── port_scanner/
│   ├── __init__.py
│   ├── scanner.py      # Ana tarama motoru
│   ├── services.py     # Servis tanımlama
│   └── cli.py          # CLI arayüzü
└── tests/
    ├── __init__.py
    └── test_scanner.py

⚠️ Yasal Uyarı

Bu araç sadece eğitim amaçlı ve yetkili olduğunuz sistemlerde kullanılmak üzere tasarlanmıştır. İzinsiz port tarama yasadışıdır ve ciddi yasal sonuçlar doğurabilir.

Sorumluluk Reddi: Bu yazılımın kötüye kullanımından doğacak herhangi bir yasal sorumluluk kullanıcıya aittir.


📄 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır.


🤝 Katkıda Bulunma

Katkılarınızı bekliyoruz! Lütfen bir Pull Request göndermeden önce:

  1. Projeyi fork edin
  2. Yeni bir branch oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add amazing feature')
  4. Branch'inizi push edin (git push origin feature/amazing-feature)
  5. Pull Request açın

⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın! ⭐

About

Fast async Python port scanner with service detection and rich terminal output

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages