Bu kılavuzda, bir Linux sistemine tcpdump'ın nasıl kurulacağını ve tcpdump kullanarak TCP/IP paketlerinin nasıl yakalanıp analiz edileceğini göstereceğiz.
Tcpdump Nasıl Kurulur
Tcpdump birçok Linux dağıtımına önceden yüklenmiştir. Ancak sisteminizde henüz kurulu değilse Linux sisteminize tcpdump kurabilirsiniz. Ubuntu 22.04 sistemine tcpdump yüklemek için aşağıdaki komutu kullanın:
$ sudo apt tcpdump'ı yükle
Tcpdump'ı Fedora/CentOS'a yüklemek için aşağıdaki komutu kullanın:
$ sudo dnf tcpdump'ı yükle
Tcpdump Komutunu Kullanarak Paketleri Yakalama
Paketleri tcpdump ile yakalamak için “Ctrl+Alt+t” tuşlarını kullanarak terminali sudo ayrıcalıklarıyla başlatın. Bu araç, TCP/IP paketlerini yakalamak için farklı seçenekler ve filtreler içerir. Mevcut veya varsayılan ağ arayüzünün tüm akan paketlerini yakalamak istiyorsanız herhangi bir seçenek olmadan “tcpdump” komutunu kullanın.
$ sudo tcpdump
Verilen komut, sisteminizin varsayılan ağ arayüzünün paketlerini yakalar.
Bu komutun yürütülmesinin sonunda yakalanan ve filtrelenen tüm paket sayıları terminalde görüntülenir.
Çıktıyı anlayalım.
Tcpdump, TCP/IP paket başlıklarının analizini sağlar. Her paket için tek bir satır gösterir ve siz onu durdurmak için “Ctrl+C” tuşlarına basana kadar komut çalışmaya devam eder.
Tcpdump tarafından sağlanan her satır aşağıdaki ayrıntıları içerir:
- Unix zaman damgası (ör. 02:28:57.839523)
- Protokol (IP)
- Kaynak ana bilgisayar adı veya IP ve bağlantı noktası numarası
- Hedef ana bilgisayar adı veya IP ve bağlantı noktası numarası
- Bağlantı durumunu S (SYN), F (FIN) gibi değerlerle gösteren TCP Bayrakları (örn. Bayraklar [F.]). (ACK), P (İTME), R (RST)
- Paketteki verilerin sıra numarası (örn. sıra 5829:6820)
- Onay numarası (ör. onay 1016)
- Alma arabelleğindeki kullanılabilir baytları ve ardından TCP seçeneklerini temsil eden pencere boyutu (örneğin, win 65535)
- Veri yükünün uzunluğu (ör. uzunluk 991)
Sisteminizin tüm ağ arayüzlerini listelemek için “tcpdump” komutunu “-D” seçeneği ile kullanın.
$ sudo tcpdump -Dveya
$ tcpdump --list-arayüzlerBu komut, Linux sisteminize bağlı veya üzerinde çalışan tüm ağ arayüzlerini listeler.
Belirtilen Ağ Arayüzünün Paketlerini Yakalayın
Belirli bir arayüzden geçen TCP/IP paketlerini yakalamak istiyorsanız “tcpdump” komutuyla birlikte “-i” bayrağını kullanın ve ağ arayüz adını belirtin.
$ sudo tcpdump -i lo
Verilen komut “lo” arayüzündeki trafiği yakalar. Paket hakkında ayrıntılı veya ayrıntılı bilgi görüntülemek istiyorsanız “-v” bayrağını kullanın. Daha kapsamlı ayrıntıları yazdırmak için “tcpdump” komutuyla birlikte “-vv” bayrağını kullanın. Düzenli kullanım ve analiz, sağlam ve güvenli bir ağ ortamının korunmasına katkıda bulunur.
Benzer şekilde, aşağıdaki komutu kullanarak herhangi bir arayüzdeki trafiği yakalayabilirsiniz:
$ sudo tcpdump -i herhangi biri
Belirli Bir Bağlantı Noktasını Kullanarak Paketleri Yakalama
Arayüz adını ve port numarasını belirterek paketleri yakalayabilir ve filtreleyebilirsiniz. Örneğin, 22 numaralı bağlantı noktasını kullanarak “enp0s3” arayüzünden geçen ağ paketlerini yakalamak için aşağıdaki komutu kullanın:
$ tcpdump -i enp0s3 bağlantı noktası 22Önceki komut “enp0s3” arayüzünden akan tüm paketleri yakalar.
Tcpdump ile Sınırlı Paketleri Yakalayın
Belirtilen sayıda paketi yakalamak için “-c” bayrağını “tcpdump” komutuyla birlikte kullanabilirsiniz. Örneğin “enp0s3” arayüzünde dört paket yakalamak için aşağıdaki komutu kullanın:
$ tcpdump -i enp0s3 -c 4
Sisteminizi kullanarak arayüz adını değiştirin.
Ağ Trafiğini Yakalamak İçin Yararlı Tcpdump Komutları
Aşağıda, ağ trafiğini veya paketleri verimli bir şekilde yakalamanıza ve filtrelemenize yardımcı olacak bazı yararlı 'tcpdump' komutlarını listeledik:
“tcpdump” komutunu kullanarak, tanımlanmış bir hedef IP'ye veya kaynak IP'ye sahip bir arayüzün paketlerini yakalayabilirsiniz.
$ tcpdump -i {arayüz-adı} dst {hedef-ip}Varsayılan boyuttan 262144 bayttan farklı olan 65535 bayt anlık görüntü boyutuna sahip paketleri yakalayabilirsiniz. Tcpdump'ın eski sürümlerinde yakalama boyutu 68 veya 96 bayt ile sınırlıydı.
$ tcpdump -i enp0s3 -s 65535
Yakalanan Paketler Dosyaya Nasıl Kaydedilir
Yakalanan verileri daha fazla analiz için bir dosyaya kaydetmek istiyorsanız bunu yapabilirsiniz. Belirli bir arayüzdeki trafiği yakalar ve ardından bunu bir “.pcap” dosyasına kaydeder. Yakalanan verileri bir dosyaya depolamak için aşağıdaki komutu kullanın:
$ tcpdump -iÖrneğin “enps03” arayüzümüz var. Yakalanan bu verileri aşağıdaki dosyaya kaydedin:
$ sudo tcpdump -i enps03 -w dump.pcapGelecekte yakalanan bu dosyayı Wireshark veya diğer ağ analiz araçlarını kullanarak okuyabilirsiniz. Dolayısıyla, paketleri analiz etmek için Wireshark'ı kullanmak istiyorsanız “-w” argümanını kullanın ve bunu bir “.pcap” dosyasına kaydedin.
Çözüm
Bu dersimizde tcpdump kullanarak paketlerin nasıl yakalanıp analiz edileceğini farklı örnekler yardımıyla gösterdik. Ayrıca yakalanan trafiği, Wireshark ve diğer ağ analiz araçlarını kullanarak görüntüleyip analiz edebileceğiniz bir “.pcap” dosyasına nasıl kaydedeceğimizi de öğrendik.