Bir XDA yazarı bu hafta Windows 11’de Wireshark’ı atlamak ve yerleşik paket izleyicisi pktmon ile başlamak için argüman sundu. Bu çerçevesi, çoğu operatörün yaşadığı daha büyük bir gerçeklikle eşleşir: taraması gereken bilgisayar, oturduğumuz bilgisayar nadiren aynıdır. Bir Docker konteyner, yönetilmeyen bir VPS, bir dolaptaki Raspberry Pi veya sadece SSH açık olan bir OPNsense yönlendiricisi olabilir. Bu arayüzsüz paket yakalama sorunudur ve Wireshark’ın GUI çözüm değildir. İhtiyacımız olan SSH üzerinden çalışan, denetimsiz bir pcap yazan ve Wireshark’ın yakalama motorunun yaptığı gibi BPF filtrelerini okuyan bir CLI’dir. Windows ve Linux ana bilgisayarlarında tam olarak bunu yapan yedi aracı test ettik ve bunları güce göre sıraladık.
Arayüzsüz paket yakalama aracında nelere bakılmalı
Uzak yakalama, masaüstü yakalamanın farklı kısıtlamaları vardır. Altı şey fark yaratır:
- BPF filtresi desteği. Aynı
tcp port 443 and host 10.0.0.1sözdizimi çalışmalı; yakalamanın kaçırdığı bir filtre daha sonra kurtarılamaz. - Küçük ikili, birkaç bağımlılık. Alpine ve sıkıştırılmış Debian görüntüleri trafiği kaydetmek için yalnızca X11 gerektirmemelidir.
- Pcap’e döndürme ve yazma. Gece yakalamalar diskleri doldurur;
-C,-Gveya eşdeğer bir bayrak aracılığıyla halka arabelleği herhangi bir GUI özelliğinden daha önemlidir. - Mümkün olduğunda root olmayan işlem.
setcap cap_net_raw, paylaşılan bilgisayarlarda root’tan kurtulmamızı sağlar. - Protokole duyarlı çıktı. Cevap “bu DNS isteği kötü biçimlendirilmiş mi” olduğunda, çözülen bir satır onaltılık döküntüyü yener.
- SSH dostça. TTY güvenli çıkış, ncurses duraklama yok, 200 sütunlu bir terminal hakkında hiçbir varsayım yok.
Bu kontrol listesidir. Şimdi araçlar.
Hızlı karşılaştırma
| Araç | En iyi | Platformlar | Ücretsiz plan | Başlangıç fiyatı/ay | Değerlendirme |
|---|---|---|---|---|---|
| TShark | Komut satırında tam Wireshark disektörleri | Windows, macOS, Linux | Evet | Ücretsiz | 5/5 |
| tcpdump | Linux ve BSD’de her yerde arayüzsüz yakalamalar | Linux, macOS, BSD | Evet | Ücretsiz | 5/5 |
| pktmon | Hiçbir şey yüklemeden Windows yakalamalar | Windows 10, 11, Server 2019+ | Evet | Ücretsiz | 4/5 |
| tcpflow | TCP akışlarını dosyalara yeniden yapılandırma | Linux, macOS | Evet | Ücretsiz | 4/5 |
| ngrep | Telle grep stili desen eşleştirmesi | Linux, macOS, Windows | Evet | Ücretsiz | 4/5 |
| Zeek | Paketleri aranabilir günlüklere dönüştürme | Linux, macOS, BSD | Evet | Ücretsiz | 4.5/5 |
| Termshark | SSH oturumunun içindeki Wireshark UI | Linux, macOS, Windows, BSD | Evet | Ücretsiz | 4/5 |
Araçlar
1. TShark, komut satırında tam Wireshark disektörleri için
TShark, Wireshark ile birlikte gelir ve GUI olmadan tam olarak aynı disektör motorunu çalıştırır. Wireshark’ın çözdüğü her protokol, TShark stdout’a çözer ve Wireshark’tan bildiğimiz her görüntü filtresi kelimesi kelimesine çalışır (-Y "http.request.method == POST"). Bunu -i eth0 ile bir arabirime yönlendirin, yazmak için -w capture.pcap ekleyin, tam bir gün boyunca her saat döndürmek için -b duration:600 -b files:24 ekleyin ve tek bir ikilide denetimsiz yakalama ve analiz elde ederiz.
Kısıtlı olduğu yerler: Windows’ta Npcap’i almak için tam Wireshark kurulumu gerekir; sıkıştırılmış Linux görüntülerinde disektör kitaplıklarını çeker, bunlar küçük değildir. Canlı TLS şifre çözme, GUI gibi bir keylog dosyası gerektirir.
Fiyatlandırma: Ücretsiz, açık kaynak, GPLv2।
Platformlar: Windows, macOS, çoğu Linux dağıtımı, BSD।
İndir: Wireshark Vakfı
Sonuç: Wireshark’ın penceresi olmadan Wireshark’ın beynini istediğimizde varsayılan।
2. tcpdump, Linux ve BSD’de arayüzsüz yakalamalar için
tcpdump, her Unix ana bilgisayarının zaten sahip olduğu veya sahip olmaktan bir paket uzakta olan araçtır। tcpdump -i eth0 -w /var/log/capture.pcap -G 3600 -C 200 'tcp port 443', daha sonra çekebileceğimiz ve Wireshark, TShark veya aşağıdaki araçlardan herhangi birinde açabileceğimiz dönen bir pcap’e kaydeder। BPF filtre sözdizimi Wireshark’ın yakalama filtreleriyle tam olarak eşleşir ve ikili çoğu dağıtımda 2 MB’dan az ağırlığındadır।
Kısıtlı olduğu yerler: Görüntü filtreleri yok, yerleşik -vvv modu dışında protokol çözme yok। macOS Big Sur ve sonrasında, bazı arabirimler ek izinler olmadan kilitlenmiştir।
Fiyatlandırma: Ücretsiz, açık kaynak, 3-madde BSD।
Platformlar: Linux, macOS, FreeBSD, OpenBSD, NetBSD।
İndir: Tcpdump Grubu
Sonuç: Arayüzsüz çalışan herhangi bir Unix bilgisayarında refleks yanıtı।
3. pktmon, hiçbir şey yüklemeden Windows yakalamalar için
pktmon, Microsoft’un Windows 10, Windows 11 ve Windows Server 2019 ve sonrasında sevkettiği Paket İzleyicisidir। pktmon start --capture --pkt-type all --file-size 200, pktmon pcapng ile dönüştürdüğümüz (veya daha eski derlemelerde pktmon etl2txt) ve başka bir yerde Wireshark veya TShark’ta açtığımız bir ETL dosyasına kaydeder। Bir Server Core kutusu için veya sniffer yüklemesi bir değişiklik biletiyse sertleştirilmiş bir dizüstü için, pktmon zaten disk üzerinde araçlarla yakalamayı gerçekleştirir।
Kısıtlı olduğu yerler: CLI ayrıntılı, filtre sözdizimi BPF yerine bileşen ID’lerini kullanır ve ETL-pcap adımı bizi dönüştürme için bir Windows makinesine bağlayan ek bir harekettir।
Fiyatlandırma: Ücretsiz, Windows ile birlikte gelir।
Platformlar: Windows 10, Windows 11, Windows Server 2019+।
İndir: Microsoft Learn
Sonuç: Ana bilgisayar Windows olduğunda ve yazılım envanterini dokunmak olmadığında।
4. tcpflow, TCP akışlarını dosyalara yeniden yapılandırma için
tcpflow, canlı trafiği yakalar (veya pcap okur) ve her yeniden yapılandırılmış TCP akışını kendi dosyasına yazar, yön başına bir dosya। Genellikle soru “bu istemci bu sunucuya ne gönderdi” olduğunda ve Wireshark’ta paketler arasında gezinmek yanlış yüksekliktir। Debian, Ubuntu, Fedora ve Homebrew’de birlikte gelir ve filtre dili saf BPF’dir।
Kısıtlı olduğu yerler: UDP ikinci sınıf vatandaş; TLS ve diğer şifreli akışlar tcpdump gibi ciphertext boşaltır। Yeniden yapılandırılmış dosyalar da uzun yakalamalarla hızlı büyür।
Fiyatlandırma: Ücretsiz, açık kaynak, GPLv3।
Platformlar: Linux, macOS।
İndir: Simson Garfinkel on GitHub
Sonuç: Teslim edilebilir “HTTP gövdesi” olduğunda, “paket izi” değil।
5. ngrep, telle grep stili desen eşleştirmesi için
ngrep, canlı trafiğe ve pcap dosyalarına tanıdık POSIX stili bir desen getirir। ngrep -q -W byline -d eth0 'GET|POST' 'tcp port 80' yalnızca yükü regex ile eşleşen paketleri yazdırır, çevre BPF filtresi arabirim tarafını daraltır। “İstemci yanlış Host başlığını gönderiyor mu” veya “yanıt bu hata dizesini içeriyor mu” gibi hızlı sorular için, ngrep görüntü filtresi jimnastiğini yener।
Kısıtlı olduğu yerler: TLS veya HTTP/2 çerçevelemesini anlamıyor, bu nedenle şifreli olan her şey gürültü olarak geri gelir। Yayın döngüsü yavaşladı ve çoğu dağıtım hala paketi oluştusa da, bazıları yapmıyor।
Fiyatlandırma: Ücretsiz, açık kaynak, revize edilmiş BSD।
Platformlar: Linux, macOS, WSL aracılığıyla Windows।
İndir: GitHub’da ngrep
Sonuç: İlk içgüdümüz grep olduğunda ulaşılacak olan।
6. Zeek, paketleri aranabilir günlüklere dönüştürme için
Zeek, eski adıyla Bro, ham yakalama ile tam IDS arasında oturur। Pcap yerine protokol başına yapılandırılmış günlükler yazar (conn.log, dns.log, http.log, ssl.log, x509.log ve daha fazlası) bunları grep’e aktarabiliriz, Splunk veya Loki’ye gönderebiliriz veya bir SIEM’e besleyebiliriz। Bir ev laboratuarında veya aynalı bağlantı noktası olan bir yönlendiricide, Zeek bize pcap’in dokunamaması gereken haftalar boyunca davranış verisi verir।
Kısıtlı olduğu yerler: Beş dakikalık kurulum değildir; derleme adımı veya distro paketi artı hafif yapılandırma geçişi bekleyin। Öğrenme eğrisi gerçektir ve değer sıfırıncı güne değil ikinci güne gösterilir।
Fiyatlandırma: Ücretsiz, açık kaynak, revize edilmiş BSD።
Platformlar: Linux, macOS, FreeBSD।
İndir: The Zeek Project
Sonuç: Bugün paketlere bakmak yerine haftalar sonra soruları yanıtlamak istediğimizde seçim।
7. Termshark, SSH oturumunun içindeki Wireshark UI için
Termshark, TShark için bir terminal ön ucu। pcap’i açın veya canlı arabirime ekleyin ve tanıdık bir paket listesi, protokol ağacı ve hex pane alırız, hepsi zaten açık olan terminalinde işlenmiş। SSH üzerinden, tmux üzerinden, arayüzsüz VM’ye seri konsol üzerinden çalışır, TTY’nin sahip olduğumuz tüm yerde।
Kısıtlı olduğu yerler: 80 sütunda düzen sıkışmış, çok yüksek paket-saniye bağlantılarında canlı yakalamalar UI’de geride kalabilir। Bu bir görüntüleyici, komut dosyası koleksiyonu için değil।
Fiyatlandırma: Ücretsiz, açık kaynak, MIT।
Platformlar: Linux, macOS, Windows, FreeBSD।
İndir: Termshark
Sonuç: Asla ekran olmayacak bir bilgisayarda Wireshark’a vardığımız kadarı।
Nasıl seçilir
- Ana bilgisayar sahip olmadığımız modern Windows bilgisayarıysa: pktmon। Yüklenecek hiçbir şey yok, güvenliğe açıklanacak hiçbir şey yok।
- Ana bilgisayar Linux veya BSD ve sahibiyse: yakalama için tcpdump, kendi istasyonumuzda analiz için TShark।
- Yakalama bir konteyner veya Alpine görüntüsü içinde gerçekleşmelidir: tcpdump veya ince TShark yan arabası। TCP akışları gerçek teslim edilebilir olduğunda tcpflow।
- Wireshark şeklinde bir görünüme ihtiyacımız var ama sadece SSH’ye sahipiz: Termshark। Yabancı bir bilgisayarda tanıdık bir arayüz alma en hızlı yoludur।
- Soru “herhangi bir paket string X içeriyor mu”: ngrep। Deseni belirtin, paketleri alın।
- Son beş dakika yerine haftalar boyunca davranışı önemli olur: Zeek। Ağı sorgulanabilir bir veri setine dönüştürür।
- Başka birinin yakalaması pcap’de adli analiz yapıyorsak: komut satırında TShark, telle sırası önemlidir।
SSS
Bir Windows sunucusu için en iyi arayüzsüz paket yakalama aracı nedir?
Windows Server 2019 ve sonrasında pktmon। OS ile birlikte gelir, ETW katmanında yakalar, kendi kendini döndürür ve mevcut derlemelerde doğrudan pcapng çıktısı verir। Wireshark disektörlerine ihtiyacımız olduğunda dosyayı dönüştürüp onu bir istasyonda TShark’ta açarız।
TShark veya tcpdump’ı root olmadan çalıştırabiliriz mi?
Linux’ta evet, ikilide setcap cap_net_raw,cap_net_admin+eip ile। Bu yakalama ayrıcalıklarını belirli bir yürütülebilir dosyaya verir, arayana tam root vermeden। BSD’de kullanıcıyı bpf cihazlarının sahibi olan gruba ekleyin। Windows’ta TShark, Npcap ile konuşmak için Yönetici gerekir।
Yakalamları nasıl döndüreriz, böylece uzun süreli bir oturum diski doldurmaz?
tcpdump zaman tabanlı döndürme için -G <seconds> ve boyut tabanlı için -C <MB> kullanır, -W <count> ile birleştirilir kaç dosya tutulur। TShark -b duration: ve -b filesize: aracılığıyla aynı şeyi ortaya koyar। pktmon --file-size ve dairesel günlük moduyla sınırlıdır। Zeek kendi başına sabit bir zaman çizelgesinde günlüklerini döndürür।
Wireshark’ın görüntü filtresi dili tcpdump sözdizimi ile aynı mı?
Hayır। tcpdump ve TShark’ın yakalama filtresi (-f) BPF sözdizimini kullanır (tcp port 443 and host 10.0.0.1)। Wireshark ve TShark’ın görüntü filtresi (-Y) farklı bir dildir (tcp.port == 443 && ip.addr == 10.0.0.1)। İkisi de öğrenmeye değer; yakalama tarafı filtresi çekirdek hızında çalışır, görüntü tarafı filtresi zaten yakalanan paketlerde çalışır।
pktmon tamamen Wireshark’ın yerini alabilir mi?
Hayır। pktmon bir yakalama aracıdır, çözümleyici değil। ETL’ye kaydeder, daha yeni derlemelerde pcapng’ye dönüştürür ve durur। TLS el sıkışmaları, HTTP/2 akışları veya QUIC’i çözmek için yine de ortaya çıkan pcap’i Wireshark veya TShark’ta açarız। İkisi birbirinin yerine değil tamamlayıcıdır।
Bu araçları bir üretim ana bilgisayarında çalıştırmak güvenli midir?
Evet makul özen ile। Paket yakalama pasiftir ve trafiği değiştirmez, ancak meşgul bir bağlantı üzerindeki CPU maliyeti sıfır değildir ve pcap dosyaları hızla büyüyebilir। Diski bir döndürme politikasıyla sınırlayın, CPU’yu sınırlamak için BPF filtresini daraltın ve risk profili önemli olduğunda satır içi yakalamanın üzerinde aynalı bağlantı noktası veya musluk tercih edin।