"tcpdump" bir paket analizörüdür ve ağ sorunlarını teşhis etmek ve analiz etmek için kullanılır. Cihazınızdan geçen ağ trafiğini yakalar ve ona bakar. "tcpdump" aracı, ağ sorunlarını gidermek için güçlü bir araçtır. Birçok seçenekle birlikte gelir, bu da onu ağ sorunlarını çözmek için çok yönlü bir komut satırı yardımcı programı yapar.
Bu gönderi, kurulumunu, ortak özelliklerini ve farklı seçeneklerle kullanımını içeren “tcpdump” yardımcı programı hakkında ayrıntılı bir kılavuzdur. Kurulumla başlayalım:
"tcpdump" nasıl kurulur:
Birçok dağıtımda "tcpdump" kutudan çıkar ve kontrol etmek için şunu kullanın:
$hangi tcpdump
Dağıtımınızda yoksa, şunu kullanarak kurun:
$sudo apt tcpdump'u kurunYukarıdaki komut, Ubuntu ve LinuxMint gibi Debian tabanlı dağıtımlar için kullanılacaktır. “Redhat” ve “CentOS” için şunu kullanın:
$sudo dnf tcpdump'ı kuruntcpdump ile paketler nasıl yakalanır:
Paketleri yakalamak için çeşitli arayüzler kullanılabilir. Arayüzlerin bir listesini almak için şunu kullanın:
$sudo tcpdump -D
Veya aktif arayüzden paketleri almak için “tcpdump” komutuyla “any” kullanın. Paket yakalamaya başlamak için şunu kullanın:
$sudo tcpdump --herhangi bir arayüz
Yukarıdaki komut, tüm aktif arayüzlerden gelen paketleri izliyor. Paketler, kullanıcıdan bir kesinti alana kadar (ctrl-c) sürekli olarak tutulacaktır.
Ayrıca, "count" değerini belirten "-c" bayrağını kullanarak yakalanacak paket sayısını sınırlayabiliriz.” 3 paket yakalamak için şunu kullanın:
$sudo tcpdump -i herhangi bir -c3
Yukarıdaki komut, belirli bir paketi filtrelemek için kullanışlıdır. Ayrıca, bağlantı sorunlarını gidermek için yalnızca birkaç ilk paketin yakalanması gerekir.
“tcpdump” komutu, varsayılan olarak IP ve port adlarıyla paketleri yakalar, ancak temizlemek, karışıklığı gidermek ve çıktının daha kolay anlaşılmasını sağlamak için; isimler “ kullanılarak devre dışı bırakılabilir-n" ve "-nn” bağlantı noktası seçeneği için:
$sudo tcpdump -i herhangi bir -c3 -nn
Yukarıdaki çıktıda görüldüğü gibi IP ve port isimleri çıkarılmıştır.
Yakalanan bir paket hakkındaki bilgiler nasıl anlaşılır:
Yakalanan bir paketin çeşitli alanları hakkında bilgi edinmek için bir TCP paketi örneğini ele alalım:
Bir paketin çeşitli alanları olabilir, ancak genel olanlar yukarıda gösterilmiştir. Birinci alan, "09:48:18.960683,” paketin alındığı zamanı temsil eder. Ardından IP adresleri gelir; ilk IP [216.58.209.130] kaynak IP ve ikinci IP'dir [10.0.2.15.55812] hedef IP'dir. Sonra bayrağı alacaksınız [P.]; tipik bayrakların listesi aşağıda verilmiştir:
bayrak | Tür | Açıklama |
“.” | ACK | onay anlamına gelir |
S | SYN | Bağlantı başlatmak için bayrak |
F | yüzgeç | Kapalı bir bağlantı için bayrak |
P | İT | Göndericiden gelen verilerin itildiğini gösterir |
$ | RST | Bağlantı Sıfırlama |
Ve ardından sıra numarası gelir “sıra 185:255”. İstemci ve sunucu, verileri korumak ve izlemek için 32 bit sıra numarasını kullanır.
“kabul etmek” bir bayraktır; 1 ise, bu, onay numarasının geçerli olduğu ve alıcının bir sonraki baytı beklediği anlamına gelir.
Pencere numarası arabellek boyutunu gösterir. “65535 kazan” arabelleğe alınabilecek veri miktarı anlamına gelir.
Ve sonunda uzunluk geliyor [70] paketinin bayt cinsinden farkı, "185:255”.
Ağ sorunlarını gidermek için paketleri filtreleme:
"tcpdump" aracı yüzlerce paketi yakalar ve bunların çoğu daha az öneme sahiptir, bu da sorun giderme için istenen bilgileri almayı çok daha karmaşık hale getirir. Bu durumda, filtreleme rolünü oynayacaktır. Örneğin, sorun giderme sırasında belirli bir trafik türüyle ilgilenmiyorsanız, paketleri IP adreslerine, bağlantı noktalarına ve protokollere göre filtreleyen "tcpdump" kullanarak filtreleyebilirsiniz.
tcpdump komutuyla ana bilgisayar adını kullanarak bir paket nasıl yakalanır:
Paketi yalnızca belirli bir ana bilgisayardan almak için şunu kullanın:
$sudo tcpdump -i herhangi bir -c4 ana bilgisayar 10.0.2.15
Yalnızca tek yönlü trafik almak istiyorsanız, “kaynak" ve "dst" yerine " seçeneklerev sahibi.”
tcpdump komutuyla bağlantı noktası numarasını kullanarak bir paket nasıl yakalanır:
Paketleri port numarasıyla filtrelemek için şunu kullanın:
$sudo tcpdump -i herhangi bir -c3 -nn bağlantı noktası 443
"443", HTTPS bağlantı noktası numarasıdır.
tcpdump komutuyla protokolü kullanarak bir paket nasıl yakalanır:
“tcpdump” komutu ile paketleri udp, icmp, arp vb. herhangi bir protokole göre filtreleyebilirsiniz. Protokol adını yazmanız yeterlidir:
$sudo tcpdump -i herhangi bir -c6 udp
Yukarıdaki komutlar yalnızca "udp" protokolüne ait paketleri yakalayacaktır.
Mantıksal operatörleri kullanarak filtreleme seçenekleri nasıl birleştirilir:
“Ve/veya” gibi mantıksal operatörler kullanılarak farklı filtreleme seçenekleri birleştirilebilir:
$sudo tcpdump -i herhangi bir -c6 -nn ana bilgisayar 10.0.2.15 ve 443 numaralı bağlantı noktası
Yakalanan veriler nasıl saklanır:
Yakalanan veriler daha sonra izlemek için bir dosyaya kaydedilebilir ve bunun için “-w” seçeneği kullanılacaktır ve “w” “yaz” anlamına gelir:
$sudo tcpdump -i herhangi bir -c5 -w packageData.pcap
Dosyanın uzantısı "."paket yakalama" anlamına gelen pcap".” Yakalama tamamlandığında, dosya yerel sürücünüze kaydedilir. Bu dosya herhangi bir metin düzenleyici programı kullanılarak açılamaz veya okunamaz. Okumak için “-r"tcpdump" ile bayrak:
$tcpdump -r paketVeri.pcap
Sonuç:
"tcpdump", ağ sorunlarını gidermek için ağ trafiğini yakalamak ve analiz etmek için değerli ve esnek bir araçtır. Bu kılavuzun dikkat edilmesi gereken nokta, "tcpdump" komut satırı yardımcı programının temel ve gelişmiş kullanımını öğrenmektir. Ancak zor bulursanız, hemen hemen aynı işi yapan ancak çeşitli ek özelliklere sahip olan “Wireshark” adlı daha az karmaşık GUI tabanlı bir program var.