Linux ve Windows terminalinde arayüzsüz paket yakalama

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:

Bu kontrol listesidir. Şimdi araçlar.

Hızlı karşılaştırma

AraçEn iyiPlatformlarÜcretsiz planBaşlangıç fiyatı/ayDeğerlendirme
TSharkKomut satırında tam Wireshark disektörleriWindows, macOS, LinuxEvetÜcretsiz5/5
tcpdumpLinux ve BSD’de her yerde arayüzsüz yakalamalarLinux, macOS, BSDEvetÜcretsiz5/5
pktmonHiçbir şey yüklemeden Windows yakalamalarWindows 10, 11, Server 2019+EvetÜcretsiz4/5
tcpflowTCP akışlarını dosyalara yeniden yapılandırmaLinux, macOSEvetÜcretsiz4/5
ngrepTelle grep stili desen eşleştirmesiLinux, macOS, WindowsEvetÜcretsiz4/5
ZeekPaketleri aranabilir günlüklere dönüştürmeLinux, macOS, BSDEvetÜcretsiz4.5/5
TermsharkSSH oturumunun içindeki Wireshark UILinux, macOS, Windows, BSDEvetÜcretsiz4/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

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।