Ağımızı izlemek için tcpdump nasıl kullanılır?

İçindekiler

Bu eğitimde göreceğiz tcpdump ile nasıl çalışılır. Komut satırı için açık kaynaklı bir araçtır, ağı izlemek, programı yürüttüğünüz ağdan geçen paketlerin bir çözümleyicisi olarak anlayabiliriz. WinDump adlı bir Windows çeşidi olmasına rağmen, Unix ortamlarında kullanılır. Ağımızın durumunu grafik olarak görmek için bir araç olan EtherApe ile ilgili bir eğitim ilginizi çekebilir.

Eğitimde Linux'tan, özellikle Ubuntu 16.04'te çalışacağız, aracın çalışması için gerekli olacak belirli seçenekler dışında yüksek ayrıcalıklarla çalıştırmamız gerekiyor.

Kullanabiliriz tcpdump ağ uygulamalarımızın hatalarını ayıklamak, içinde bulunduğumuz ağ üzerinden kullanıcılar arasında gönderilen verileri okumak gibi çeşitli görevler için. Sözdizimini aşağıya koyacağız:

 tcpdump [-aAbdDefhHIJKlLnNOpqRStuUvxX #] [-B boyutu] [-c sayısı] [-C dosya_boyutu] [-E şey: gizli] [-F dosyası] [-G saniye] [-i arabirimi] [-j tstamptürü] [- M gizli] [--sayı] [-Q giriş | çıkış | giriş] [-r dosyası] [-s snaplen] [--zaman damgası-hassasiyet] [--anında mod] [-T tipi] [ --version] [-V dosyası] [-w dosyası] [-W dosya sayısı] [-y veri bağlantısı türü] [-z komutu] [-Z kullanıcısı] [ifadesi]
Bu aracın kullanabileceğimiz çok sayıda parametresi var, burada bazılarını göreceğiz.

Bazı tcpdump parametreleri

  • -İLE: Paketleri ASCII kodunda yazdırın.
  • -x: Paketleri onaltılık olarak yazdırın.
  • -NS: Kullanılabilir arayüzleri gösterir.
  • -C sayı: Belirtilen sayıda paket yakalandığında programı kapatacaktır.
  • -ben interface: Program belirtilen interface'i dinler.
  • -BEN: Arabirimi monitör moduna geçirir.
  • -P: Arabirimi karışık moda sokmaz.
  • -f dosyası: Çıktı, belirttiğimiz dosyada saklanır.
  • -H: Kullanımı için yardımı görüntüler.

Mevcut tüm parametreleri görmek istiyorsak, Linux'ta şunu kullanırız:

 adam tcpdump
Bu komutu kullanmak, parametre tarafından sunulan yardımdan daha eksiksizdir. -H veya --Yardım, bu bize yalnızca aşağıdakileri gösterir:

Bu güçlü araca başlamak için 10 örnek göreceğiz.

NotHemen hemen tüm örneklerde, sudo'nun tcpdump'tan önce kullanıldığını göreceksiniz, daha önce de söylendiği gibi, onu yüksek ayrıcalıklarla başlatmak gerekiyor, eğer terminali root olarak kullanıyorsanız, tcpdump'ın önüne herhangi bir şey koymanıza gerek yok. Yakalamayı durdurmak istiyorsanız tuşları birleştirebilirsiniz:

CTRL + C

örnek 1
Parametreyi kullanan en basit örnek -İLE. Bunun için yürütüyoruz:

 tcpdump -A

Biraz daha içerikli bir örnek görelim.

Örnek 2
Şimdi ana bilgisayara göre filtreleyeceğiz ve parametre ile ayrıntılı modu ekleyeceğiz. -v:

 sudo tcpdump ana bilgisayarı 192.168.66.130 -v
Aşağıda, yukarıdaki komutu kullanan bir görüntü var:

Görüntü için başka bir makineden ping yaptım, böylece ICMP'yi görebiliriz. Üçüncü örneğe geçelim.

Örnek 3
Bu örnekte, aynı ana bilgisayardan gelen paketlere bakacağız, sadece bu sefer 80 numaralı bağlantı noktasıyla ilgili paketler:

 sudo tcpdump ana bilgisayar 192.168.66.130 ve bağlantı noktası 80 -v
Eğer yakalamaya bakarsak, aşağıdakine benzer bir şey göreceğiz:

Bu aleti kullanmanın ne kadar kolay olduğunu görebilirsiniz, hadi devam edelim.

Örnek 4
Örnek 3'ü kullanacağız ve onu değiştireceğiz, 80 numaralı bağlantı noktasına giden 192.168.66.130 kaynaklı paketleri filtrelemek istiyoruz:

 sudo tcpdump src ana bilgisayarı 192.168.66.130 ve dst bağlantı noktası 80 -v
Koşul ifadesini kullandığımızı görüyoruz ve bu iki koşulun sağlanması için veya yalnızca birinin sağlanmasını istiyorsak kullanabiliriz. Ekran görüntülerine bakarsak bir POST isteği görürüz.

Beşinci örneğe geçiyoruz.

Örnek 5
Bir arayüzü belirten paketleri yakalayacağız:

 sudo tcpdump -i ens33
NotArayüzünüz muhtemelen eth0'dır, ifconfig komutuyla da görebilirsiniz, ancak tcpdump'ın -D parametresi ile de işimize yarayacaktır, aşağıdaki örnekte göreceğiz.

Aşağıda yakalama görüntüsünü görebilirsiniz.

Bir sonrakine geçelim.

Örnek 6
Bu örnekte yapacağımız tek şey mevcut arayüzleri göstermek, bunun için şunu yürütüyoruz:

 tcpdump -D
Bu durumda root olmak gerekli değildir.

Devam edelim.

Örnek 7
1987 numaralı bağlantı noktasına yönelik 3 paketi yakalamak istiyoruz ve bu gerçekleştiğinde programı durdurun:

 sudo tcpdump -c 3 dst bağlantı noktası 1987
Aşağıdaki resimde sadece 3 paketin yakalandığını görebiliriz:

Birkaç örnek daha görelim.

Örnek 8
Belirli bir bağlantı noktasına, örneğin bağlantı noktası 80'e gitmeyen tüm tcp trafik paketlerini almak istediğimizde, aşağıdakileri uygulayacağız:

 sudo tcpdump 80 ve tcp bağlantı noktası değil
Çıktı benzerdir, dolayısıyla bu örnekte herhangi bir yakalama ayarlanmamıştır. Sondan bir önceki örnek için gidelim.

Örnek 9
Belirli bir arabirimin 2 paketini yakalayacağız ve bunları onaltılık biçimde göstereceğiz, bunun için yürütmemiz gerekir:

 sudo tcpdump -i ens33 -x -c 2
Aşağıda çıktıyı görebilirsiniz:

Pekala, öğreticinin son örneğine geçelim.

Örnek 10
Bu örnekte, daha sonra bakmak için yakalamayı bir dosyaya kaydedeceğiz. Yakalama 3 paketle sınırlıdır ve bir arayüz belirlenir, bu nedenle şunu yürüteceğiz:

 sudo tcpdump -w test.pcap -i ens33 -c 3
Bir ekran görüntüsü görelim:

Bu dosyayı şimdi okumak istiyorsak, yürütmemiz gerekiyor:

 tcpdump -r test.pcap
Bunu aşağıdaki resimde görebiliriz:

tcpdump ile ilgili öğretici buraya kadar geldi, birçok olasılık ve birçok seçeneğe sahip, bu nedenle bu aracı nasıl iyi kullanacağınızı öğrenmek için en iyisi alıştırma yapmak ve tüm özelliklerini azar azar keşfetmek. Netcat aracı hakkında bir şeyler okumak da ilginizi çekebilir, bu yüzden burada örneklerle bir eğitim bağlantısı:

netcat nasıl kullanılır

Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.
wave wave wave wave wave