Tcpdump ile Paketleri Örnek Olarak Yakalama ve Analiz Etme

Tcpdump Ile Paketleri Ornek Olarak Yakalama Ve Analiz Etme



Tcpdump, Linux sistemlerinde ve macOS'ta ağ trafiği analizi için kullanılan güçlü bir ağ analiz aracıdır. Ağ yöneticileri, TCP/IP paketlerini ağ koklamak, yakalamak ve analiz etmek için tcpdump'ı kullanır. Ağ trafiğini verimli bir şekilde yakalamaya yardımcı olan bir “libpcap” kütüphanesi kullanır. Ek olarak, tcpdump ağda sorun gidermeye ve ağ etkinliklerinin periyodik olarak izlenmesine yardımcı olur. Bu araç, yakalanan verileri bir “pcap” dosyasında saklar. Bu dosyalar Wireshark gibi bir TCP/IP paket analiz aracı veya başka bir komut satırı aracı kullanılarak daha ayrıntılı olarak analiz edilir.

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 -D

veya

$ tcpdump --list-arayüzler

Bu 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 -s 65535 -w .pcap

Örneğin “enps03” arayüzümüz var. Yakalanan bu verileri aşağıdaki dosyaya kaydedin:

$ sudo tcpdump -i enps03 -w dump.pcap

Gelecekte 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.