Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ETBİS Domain Tarama ve Tespit Aracı

Düşen bir e-ticaret domaini, dolandırıcılar için hazır bir tuzaktır: tüketici ETBİS'te adı geçen markaya güvenir, ama alan adı artık başkasının elinde olabilir. Bu araç, ETBİS'e kayıtlı sitelerin alan adlarını toplu tarayarak bu riski işletme ve tüketici zarar görmeden önce tespit eder.

ETBİS'e ("etbis.ticaret.gov.tr") kayıtlı e-ticaret sitelerini tarayıp; düşmüş (kayıtlı olmaktan çıkmış) ve el değiştirmiş olma şüphesi taşıyan domainleri tespit etmek için yazılmış bir araçtır. Amaç: dolandırıcıların, bir işletmenin eskiden kullandığı ama düşürdüğü domaini alıp, ETBİS kaydına/sorgulamasına güvenen tüketicileri kandırmasını önceden tespit edip Ticaret Bakanlığı'na bildirmek.

Nasıl çalışır

  1. crawl — ETBİS'in SiteSorgulama listesini sayfa sayfa gezer, her site için işletme adı, site URL'si ve ETBİS siteId'sini SQLite veritabanına kaydeder.
  2. details — Her site için SiteSorgulamaSonuc detay sayfasını çekip "ETBİS'e Kayıt Tarihi" bilgisini alır. Bu tarih, domain'in ne zaman kayıtlı hâle geldiğini karşılaştıracağımız referans noktasıdır.
  3. check — Her domain için:
    • DNS çözümlenip çözümlenmediğine bakar,
    • .tr uzantılı domainlerde doğrudan whois.trabis.gov.tr WHOIS sunucusunu sorgular (oluşturulma tarihi ve çoğu zaman şirket adını verir),
    • Diğer uzantılarda IANA RDAP bootstrap listesi üzerinden ilgili RDAP sunucusunu, o da yoksa genel WHOIS (referral takibiyle) sorgular.
  4. analyze — Toplanan verilere göre her siteye bir bayrak atar:
    • 🔴 KIRMIZI — domain şu anda kayıtlı değil (düşmüş / boşa düşmüş), herhangi biri (bir dolandırıcı dâhil) hemen alabilir.
    • 🔵 MAVİ — domain kayıtlı ama el değiştirmiş şüphesi var: WHOIS'teki oluşturulma tarihi ETBİS kayıt tarihinden sonra ya da WHOIS'teki alan adı sahibi ETBİS'teki işletme adıyla örtüşmüyor.
    • 🟢 YEŞİL — otomatik olarak sonuç alınamadı (zaman aşımı, desteklenmeyen uzantı, URL yok vb.), manuel kontrol gerekiyor.
    • (Bayraksız satırlar) — belirgin bir sorun bulunamadı.
  5. report — Renk kodlu .xlsx raporu üretir (Bakanlığa gönderilecek liste).

Her adım SQLite veritabanında ilerlemeyi kaydeder, yani işlem yarıda kesilse (Ctrl+C, internet kopması vb.) bile kaldığı yerden devam eder.

Not: Bu araç şüpheli adayları listeler; sonuçlar %100 kesin değildir (ör. işletme bilerek yeni bir domaine geçmiş olabilir). Bakanlığa göndermeden önce özellikle MAVİ ve YEŞİL satırları gözden geçirmeniz önerilir.

Kurulum

git clone https://github.com/MiracHamurcu/etbis-domain-scanner.git
cd etbis-domain-scanner
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Kullanım

Hepsini sırayla çalıştırmak için (ilk hedef: 10.000 site):

python -m scanner run --target 10000

Bu komut kesilirse, tekrar çalıştırıldığında crawl/details/check adımları kaldığı yerden devam eder (analyze ve report her seferinde yeniden üretilir, bu ucuz bir işlemdir).

Adım adım çalıştırmak isterseniz:

python -m scanner crawl --target 10000   # ETBİS listesini tara
python -m scanner details                # ETBİS kayıt tarihlerini çek
python -m scanner check --workers 4      # DNS + WHOIS/RDAP kontrolü
python -m scanner analyze                # bayrakları hesapla
python -m scanner report                 # reports/ altına .xlsx üret
python -m scanner status                 # ilerlemeyi özetler

Rapor varsayılan olarak reports/etbis_tarama_<tarih>.xlsx içine yazılır, --out dosya_adi.xlsx ile değiştirebilirsiniz.

Ayarlar

Aşağıdaki ortam değişkenleriyle davranışı ayarlayabilirsiniz (hepsi opsiyonel):

Değişken Varsayılan Açıklama
ETBIS_SCANNER_TARGET 10000 crawl için varsayılan hedef site sayısı
ETBIS_SCANNER_ETBIS_DELAY 0.8 ETBİS istekleri arası min. bekleme (sn)
ETBIS_SCANNER_WHOIS_DELAY 1.5 .tr WHOIS istekleri arası min. bekleme (sn)
ETBIS_SCANNER_CHECK_WORKERS 4 check adımında paralel iş parçacığı sayısı
ETBIS_SCANNER_REREG_BUFFER_DAYS 30 MAVİ bayrağı için tarih tolerans payı (gün)
ETBIS_SCANNER_DB_PATH data/etbis_scan.sqlite3 Veritabanı yolu
ETBIS_SCANNER_REPORTS_DIR reports Rapor çıktı klasörü

ETBİS ve WHOIS sunucularına karşı kibar davranmak için istekler hız sınırlamalıdır; 10.000 site için check adımı (özellikle çoğu .tr domain ise, çünkü bunlar tek bir WHOIS sunucusuna seri şekilde gider) uzun sürebilir. İşlemi arka planda / bir sunucuda bırakıp status komutuyla ilerlemeyi takip edebilirsiniz.

Bilinen sınırlamalar

  • Genel WHOIS (RDAP'ı olmayan az kullanılan uzantılar) yanıtları serbest metin olduğundan tarih ayrıştırma her zaman %100 başarılı olmayabilir; bu durumlarda site YEŞİL (manuel kontrol) olarak işaretlenir.
  • .tr WHOIS yanıtında çok satıra yayılan kurum adları (Registrar) küçük ölçüde kırpılabilir; bu sadece bilgi amaçlı alanı etkiler, bayrak mantığını etkilemez.
  • WHOIS gizlilik korumalı (privacy/proxy) domainlerde alan adı sahibi bilgisi görünmeyebilir; bu durumda sadece tarih karşılaştırması kullanılır.

Sorumlu kullanım

Bu araç yalnızca savunma ve farkındalık amaçlıdır: risk altındaki domainleri tespit edip yetkili mercilere (Ticaret Bakanlığı) bildirmek için yazılmıştır. ETBİS ve WHOIS/RDAP sunucularına hız sınırlamalı, kibar isteklerle erişir. Taranan verilerdeki işletme/domain bilgileri hassas olabileceğinden, üretilen veritabanı ve raporlar sürüm kontrolüne dâhil edilmez (bkz. .gitignore). Tespit edilen domainlerin ele geçirilmesi veya kötüye kullanılması amaçlanmamıştır ve önerilmez.

About

ETBİS'e kayıtlı e-ticaret sitelerinde düşmüş ve el değiştirmiş domainleri tespit eden Python aracı

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages