Docker tabanlı, tek komutla ayağa kalkan Wireshark eğitim laboratuvarı. Gerçek ağ trafiği üreterek paket analizini sıfırdan ileri seviyeye öğretir. 29 modül, 25 pcap, 16 gerçek servis: Hepsi kendi makinende, izole bir ağda.
macOS / Linux / Windows (WSL2): Her platformda çalışır.
| Rol | Neden Faydalı? | Hangi Modüller? |
|---|---|---|
| WCNA adayları | Sınav syllabus'unun %90+'ı uygulamalı işlenir. Display filter, Expert Info, TCP grafikleri, tshark: Sınavın en çok puan getiren konuları | Tümü (M01-M29) |
| SOC L1 analistleri | Alert triage'da pcap analizi yapmayı öğrenir. Port scan, C2 beaconing, DNS exfiltration, credential sızıntısı tespiti | M01-M02, M08, M13, M17-M19, M27-M29 |
| CompTIA Network+ adayları | Paket analiz bölümünü gerçek trafik üzerinde uygular. TCP/UDP, DHCP, DNS, ARP, IPv6 | M01-M12 |
| CompTIA Security+ adayları | Trafik analizi bölümünü saldırı senaryolarıyla çalışır. SQL injection, XSS, SYN flood, TLS zafiyetleri | M13-M28 |
| Ağ mühendisleri | Performans analizi ve troubleshooting yapmayı öğrenir. Retransmission, zero window, RTT, throughput grafikleri | M08-M11, M22-M23 |
| Siber güvenlik öğrencileri | Kill chain'i pcap'te adım adım takip eder. Reconnaissance → delivery → exploitation → C2 → exfiltration | M26-M29 |
| CEH adayları | Ağ forensics bölümünde saldırı izlerini paket seviyesinde görür | M28 |
- Wireshark'ı etkin kullanma: 3 panel, renk kodları, display filter, Expert Info, Follow TCP Stream
- Protokol analizi: TCP/IP katmanlarını (ARP, IP, TCP, UDP, DNS, HTTP, TLS, Kerberos, LDAP, SMB2) gerçek paketlerle inceleme
- Saldırı tespiti: Port scan, SYN flood, SQL injection, XSS, C2 beaconing, DNS exfiltration, credential sızıntısı, Kerberoasting ve parola spreyi
- Performans analizi: Retransmission, zero window, RTT, throughput, TCP congestion control grafikleri
- tshark otomasyonu: Komut satırından pcap analizi, script yazma, toplu işleme
- TLS analizi: Handshake, cipher suite, sertifika inceleme, SSLKEYLOGFILE ile trafiği deşifre etme
- VoIP analizi: SIP sinyalleşme, RTP ses akışı, jitter/packet loss ölçümü
- Forensics: Kill chain oluşturma, trafik profili çıkarma, anomali tespiti
Repo'yu klonla, pcap'i Wireshark'ta aç, öğrenmeye başla. Docker kurmana gerek yok. Repoyu indirmediysen tüm pcap'leri ya da modül pcap'ini buradan indirebilirsin.
git clone https://github.com/nuriacar/shark-tank.git cd shark-tank # macOS: open -a Wireshark shared/pcaps/module-01-basics.pcap # Linux: wireshark shared/pcaps/module-01-basics.pcap & # Windows: start wireshark shared\pcaps\module-01-basics.pcap
25 pcap dosyası ve TLS keylog dosyası repo'ya dahildir. Modül rehberlerini (module-XX/module-XX.md) aç, adımları takip et.
Gerçek servisler (web, DNS, FTP, VoIP, attacker) üzerinde kendi trafiğini üretmek ve capture almak için:
git clone https://github.com/nuriacar/shark-tank.git
cd shark-tank
make setupBu tek komut her şeyi yapar: Docker kurulumu (eksikse), sertifikaları, 16 container'ı, 25 pcap dosyasını.
Kurulum bittikten sonra herhangi bir modülü aç:
# İlk modülden başla: make open FILE=shared/pcaps/module-01-basics.pcap # Tüm pcap'ları yeniden üret (istersen): make capture # Servislerin çalıştığını doğrula: make test
make setup bunları otomatik kontrol eder ve eksikse kurulum sunar:
| Araç | Zorunlu | Otomatik Kurulum |
|---|---|---|
| Docker (v20+) | Evet | Sorarak |
| Wireshark | Evet | Sorarak |
| openssl | Evet | Sorarak |
| python3 | Evet | Sorarak |
| make + bash + git | Evet | Zaten mevcut |
| Özellik | Açıklama |
|---|---|
| Docker gerekmez | 25 pcap repo'ya dahil. Sadece klonla, Wireshark'ta aç, öğren |
| 16 gerçek servis | web, dns, ftp, smtp, imap, voip, https, ocsp (mini-CA), dhcp, tcp/udp echo, ad-dc (Kerberos+LDAP+SMB2), attacker |
| 25 pcap | 24'ü lab'da üretilen gerçek trafik + 1 örnek WLAN capture: Sentetik değil |
| Saldırı simülasyonu | Port scan, SYN flood, SQL injection, XSS, C2 beaconing, DNS exfiltration |
| TLS decryption | SSLKEYLOGFILE ile şifreli HTTPS trafiğini deşifre etme alıştırması |
| VoIP + RTP | 153 RTP paketi, SIP çağrı akışı, jitter analizi |
| TCP anomaly zengini | Retransmission, duplicate ACK, SACK, zero window, keep-alive: Hepsi gerçek |
| C2 beaconing | Düzenli aralıklı çağrılarla IO Graph'te periyodik desen tespiti |
| tshark otomasyonu | CLI tabanlı analiz, bash script'leri, toplu pcap işleme |
| Filtre cheat sheet | 180+ display filter + capture filter + tshark örneği |
| Otomatik doğrulama | make validate: 75 kontrol ile pcap içeriklerini doğrula |
| Çapraz platform | macOS (Intel + ARM), Linux, Windows WSL2 |
| İzole lab ağı | 172.50.2.0/24: Host ağdan tamamen bağımsız |
Shark-Tank Network (172.50.2.0/24)
==================================
+-------------+ +-------------+ +-------------+
| WEB SERVER | | DNS SERVER | | TCP ECHO |
| nginx | | CoreDNS | | socat |
| .10:80 | | .11:53 | | .12:8080 |
+------+------+ +------+------+ +------+------+
| | |
+------+------+ +------+------+ +------+------+
| HTTPS SERVER| | ICMP TARGET | | FTP SERVER |
| nginx+SSL | | Alpine | | vsftpd |
| .13:443 | | .14 | | .15:21 |
+------+------+ +------+------+ +------+------+
| | |
+-------------+ +-------------+ +-------------+
| SMTP SERVER | | UDP ECHO | | IMAP SERVER |
| Mailpit | | socat | | Dovecot |
| .16:1025 | | .17:9090 | | .18:110/143 |
+------+------+ +------+------+ +------+------+
| | |
+----------------+----------------+
|
+-----------+-----------+
| |
+------+------+ +------+------+
| CLIENT | | ATTACKER |
| .100 | | .200 |
| curl, dig, | | nmap, nc, |
| nmap, nc | | python3 |
+-------------+ +-------------+
VoIP (.22:5060) DHCP Server (.9.2:67) AD DC (.20:88/389/445)
Asterisk SIP/RTP ISC dhcpd Samba Krb/LDAP/SMB2
| Servis | IP | Port | Kullanıcı | Şifre |
|---|---|---|---|---|
| Web (HTTP) | 172.50.2.10 | 80 | admin | secret123 |
| Web (HTTP) | 172.50.2.10 | 80 | employee | companySecret2024 |
| Web (HTTP) | 172.50.2.10 | 80 | guest | wrong (hatalı giriş) |
| HTTPS | 172.50.2.13 | 443 | - | (self-signed) |
| FTP | 172.50.2.15 | 21 | ftpuser | ftppass123 |
| FTP | 172.50.2.15 | 21 | ftpuser | wrongpassword (brute force) |
| SMTP | 172.50.2.16 | 1025 | kullanici | secret123 |
| IMAP/POP3 | 172.50.2.18 | 110/143 | kullanici | secret123 |
| AD DC (Kerberos/LDAP/SMB2) | 172.50.2.20 | 88/389/445 | analyst | analyst123! |
| AD DC (Kerberoasting hedefi) | 172.50.2.20 | 88 | svc-backup | KerberoastMe123! |
| VoIP (SIP) | 172.50.2.22 | 5060 | 1000 / 1001 | voip123 / voip456 |
| DNS | 172.50.2.11 | 53 | - | shark-tank.local zone |
| TCP Echo | 172.50.2.12 | 8080 | - | - |
| UDP Echo | 172.50.2.17 | 9090 | - | - |
| ICMP Target | 172.50.2.14 | - | - | - |
| DHCP Server | 172.50.9.2 | 67 | - | - |
| DHCP Client | dynamic | 68 | - | - |
| Client | 172.50.2.100 | - | - | curl, dig, nmap, nc |
| Attacker | 172.50.2.200 | - | - | nmap, nc, python3 |
Tüm bilgiler shared/credentials.env dosyasında.
Serinin blog sayfası: nuriacar.com/shark-tank — tüm modüller ve referans dokümanlar tek tabloda.
Kurs başlamadan önce bu rehber dahil üç yol gösterici doküman, kurstan sonra ise iki cep kartı seni bekliyor:
| # | Doküman | Ne zaman okunur? |
|---|---|---|
| ref1 | Wireshark Eğitim Rehberi (bu dosya) | Başlangıç noktası: Seri tanıtımı, hızlı başlangıç, modül dizini (şu an buradasın!) |
| ref2 | Kurs Müfredatı | Kurs öncesi: Kapsam, süreler, sertifika karşılıkları, çalışma yöntemi |
| ref3 | Ağ Diyagramı | Kurs öncesi: Laboratuvar haritası ve trafik akışları |
| ref4 | Filtre Cheat Sheet | Kurs sonrası/sınav öncesi: 180+ display/capture filter + tshark örneği |
| ref5 | Lab Özeti | Kurs sonrası: Detaylı servis/kullanıcı/credential envanteri |
| # | Modül | Konu | Seviye |
|---|---|---|---|
| 01 | Temeller | Wireshark arayüzü, paket yapısı | Başlangıç |
| 02 | Filtreleme | Display/capture filter, Coloring Rules, Expert Info | Başlangıç |
| 03 | ARP | MAC-IP eşleştirme, gratuitous ARP, spoofing | Başlangıç |
| 04 | DHCP | DORA süreci, lease time, options | Başlangıç |
| 05 | ICMP | Ping, RTT, TTL, tunneling tespiti | Başlangıç |
| 06 | Fragmentation | IP fragmentation, reassembly, PMTUD | Başlangıç |
| 07 | IPv6 | IPv6 header, NDP, SLAAC, AAAA | Orta |
| 08 | TCP | 3-way handshake, flags, port scan | Orta |
| 09 | TCP Dizi | Retransmission, duplicate ACK, SACK | Orta |
| 10 | UDP | Connectionless, port unreachable | Orta |
| 11 | İleri TCP | Window scaling, keep-alive, zero window | Orta |
| 12 | DNS | Kayıt tipleri, NXDOMAIN, exfiltration | Orta |
| 13 | HTTP | GET/POST, status codes, Export Objects, SQLi/XSS | Orta |
| 14 | FTP | Cleartext credentials, PASV, brute force | Orta |
| 15 | SMTP/POP3/IMAP, AUTH LOGIN | Orta | |
| 16 | TLS | Handshake, cipher, sertifika, SSLKEYLOGFILE decryption | İleri |
| 17 | Kerberos | AD kimlik doğrulama, AS/TGS bilet analizi | İleri |
| 18 | LDAP | Dizin servisi, bind, filtreler | İleri |
| 19 | SMB2 | Dosya paylaşımı, session setup, imza | İleri |
| 20 | tshark CLI | Komut satırı analizi, otomasyon | İleri |
| 21 | Gelişmiş Capture | Ring buffer, profiles, mergecap | İleri |
| 22 | TCP Grafikleri | IO/Throughput/RTT graphs | İleri |
| 23 | Performans | Zero window, retransmission oranı | İleri |
| 24 | WLAN | 802.11 frame'leri, WPA handshake | İleri |
| 25 | VoIP | SIP/RTP, Telephony menüsü, jitter | İleri |
| 26 | Baseline | Trafik profili, anomali tespiti | Sentez |
| 27 | Sınav Pratiği | 10 senaryo, 27 soru, kill chain | Sentez |
| 28 | Forensics | Port scan, C2, SQLi, XSS, exfiltration | Sentez |
| 29 | Lua ile Otomasyon | shark-tank.lua, otomatik bulgu raporu, angaryadan kurtulma | Sentez |
Her modülde: Teori, adım adım alıştırmalar, filtre referansı, sınav soruları + cevaplar.
Docker'sız (sadece pcap analizi): Her modülün pcap dosyası repo'da hazır gelir. Wireshark'ta aç, modül rehberini oku, alıştırmaları yap. Docker kurmana gerek yok.
Docker ile (tam laboratuvar): make setup ile 16 gerçek servis ayağa kalkar. Kendi trafiğini üret, capture al, gerçek zamanlı analiz yap.
- Modül rehberini oku:
module-XX/module-XX.mddosyasını aç - Pcap'i Wireshark'ta aç:
make open FILE=shared/pcaps/module-XX-name.pcap - Alıştırmaları yap: Rehberdeki adımları sırayla uygula
- Sınav sorularını çöz: Cevapları
<details>ile kontrol et - Sonraki modüle geç: Sayfanın altındaki önceki/sonraki butonlarını kullan
# İpucu: Tüm komutları görmek için make help # Servis durumunu kontrol et make test # Pcap'lerin içeriğini doğrula make validate
make setup # İlk kurulum (her şey) make start # Container'ları başlat make stop # Durdur make test # 13 servis bağlantı testi make capture # Tüm pcap'ları yeniden üret make validate # Pcap içeriklerini doğrula (95 kontrol) make check # Modül + pcap dosya kontrolü make open FILE=... # Pcap'i Wireshark'ta aç make status # Container + ağ durumu make shell # Client container'da bash aç make logs # Container loglarını izle make clean # Her şeyi sil
shared/shark-tank.lua, müfredattaki tüm analiz tekniklerini tek seferde
çalıştıran tshark Lua motorudur: tek pcap veya tüm bir dizin tarar
(port scan, ARP sweep/spoofing, credential sızıntısı, SQLi/XSS, FTP bounce,
mail attachment, TLS/OCSP, Kerberos spray/Kerberoasting, LDAP keşfi, SMB
brute force, beaconing, DNS tunneling, entropy/exfil, kill-chain ve IOC
özeti) ve her pcap'in yanına aynı adda .md bulgu raporu yazar:
./scripts/shark-tank.sh shared/pcaps/module-28-forensics.pcap # tek dosya ./scripts/shark-tank.sh shared/pcaps # tüm dizin
Yardımcı betik olmadan, yalnızca tshark ile de çalışır — macOS/Linux/Windows:
# macOS / Linux tshark -q -X lua_script:shared/shark-tank.lua -r <pcap> # raporun adını açıkça vermek için: SHARK_TANK_PCAP=<pcap> tshark -q -X lua_script:shared/shark-tank.lua -r <pcap> # Windows (PowerShell / CMD) tshark.exe -q -X lua_script:C:\tools\shark-tank.lua -r C:\captures\firma.pcap
- Kalıcı kurulum — script'i plugin dizinine kopyala ve Wireshark'ı
yeniden başlat:
- macOS/Linux:
~/.local/lib/wireshark/plugins/shark-tank.lua(eskiden~/.wireshark/plugins/kullanan sürümlerde orası) - Windows:
%APPDATA%\Wireshark\plugins\shark-tank.lua(veyaC:\Program Files\Wireshark\plugins\)
- macOS/Linux:
- Bir pcap aç, menüden Analyze/Tools > Shark-Tank > Rapor Üret — rapor bir pencerede açılır.
- Geçici yükleme (kopyalamadan): File > Run Lua Script
(macOS'ta Wireshark menüsü altında) >
shark-tank.luaseç, sonra pcap'i açıp aynı menüden raporu üret.
Dedektörler desen tabanlıdır: Hiçbir IP/adres sabitlenmemiştir, bu yüzden daha önce hiç görülmemiş herhangi bir pcap'te aynı komutla çalışır.
Ek modlar:
SHARK_TANK_JSON=1 ./scripts/shark-tank.sh <pcap> # yanına .json (SIEM'e) ./scripts/shark-tank.sh <dizin> # + campaign.md: # pcap'ler arası ortak IOC make test-sharktank # regresyon testi: # bilinen pcap'lerde beklenen # bulgular otomatik doğrulanır
Regresyon testi, rapor üretimini her çalıştırmada yeniden yapar ve 12 beklenen bulguyu (ARP sweep, ICMP tünel, overlap, Basic auth, OCSP, Kerberoasting/RC4, svcctl, exfil entropisi, ZIP/beacon, JSON, kampanya, yabancı-pcap) tek tek kontrol eder.
| Sertifika | Kapsam |
|---|---|
| Wireshark WCNA | M01-M29 kapsam (%90+ syllabus, 33 WCNA başlığı; M29 otomasyon/tshark derinliği) |
| CompTIA Network+ | Paket analiz bölümü (M01-M12) |
| CompTIA Security+ | Trafik analizi bölümü (M13-M28) |
| CEH | Ağ forensics bölümü (M28) |
| Sorun | Çözüm |
|---|---|
| Docker başlatılamıyor | Docker Desktop'ı başlat veya sudo systemctl start docker |
| Container'lar hazır değil | sleep 15 && make test |
| Pcap dosyaları boş | make capture |
| DNS çözümlenmiyor | docker exec shark-tank-client dig @172.50.2.11 web.shark-tank.local |
| Build hatası | docker compose build --no-cache |
shark-tank/
+-- docker-compose.yml # 16 servis, izole ağ
+-- .env # Docker Compose değişkenleri
+-- Makefile # Tüm komutlar
+-- module-01 .. module-29/ # 29 modül rehberi
+-- shared/
| +-- Dockerfile.* # 8 Docker image
| +-- credentials.env # Login bilgileri
| +-- coredns/ # DNS zone (shark-tank.local)
| +-- certs/ # SSL sertifika + keylog (otomatik)
| +-- pcaps/ # 25 pcap dosyası (otomatik)
+-- scripts/
| +-- setup.sh # Kurulum
| +-- generate-traffic.sh # Trafik üretici (24 mod)
| +-- validate-pcaps.sh # Pcap doğrulayıcı (75 kontrol)
| +-- ...
+-- docs/
+-- curriculum.md # ref2 kaynağı: Müfredat
+-- network-diagram.md # ref3 kaynağı: Ağ diyagramı
+-- quick-reference.md # ref4 kaynağı: Filtre cheat sheet
+-- shark-tank-lab-sum.md # ref5 kaynağı: Lab özeti
Copyright © 2026 Nuri ACAR. All rights reserved. Tüm hakları saklıdır.
Detay için: LICENSE