Capture Alma

Posted by

Pktcap-uw tool, eski tcpdump-uw  yerine kullanılabilen gelişmiş bir paket yakalama ve analiz tool’dur. Pktcap-uw  varsayılan olarak ESXi 5.5 ve sonraki sürümlerde bulunur. Bu makale, pktcap-uw tool’unu kullanma hakkında bilgi sağlar.

Pktcap-uw , daha fazla esneklik ve gelişmiş sorun giderme için hiper yönetici içindeki tüm noktalarda trafiğin yakalanmasına olanak tanır.

Pktcap-uw Tool

  • pktcap varsayılan olarak yalnızca gelen trafiktir.
  • VSphere 6.5 ve öncesinde, gelen için –dir 0 ve giden için –dir 1 kullanarak trafiğin yönünü belirtin. Aynı anda her iki yöne giden trafiği belirtemezsiniz. Ancak, vSphere 6.7 ve sonraki sürümlerde, gelen trafik için –dir 0, giden için –dir 1 veya her ikisi için –dir 2 kullanarak trafik yönünü belirtebilirsiniz.
  • İki (veya daha fazla) ayrı izleme paralel olarak çalıştırılabilir, ancak daha sonra wireshark’ta birleştirilmesi gerekir.
  • Temel yardım ve sözdizimi bilgilerini almak için -h seçeneğini kullanın:

# pktcap-uw -h |more
 

  • Bir vmkernel port trafiğinin canlı bir görüntüsünü görüntülemek için:

# pktcap-uw –vmk vmkX

Örneğin;

# pktcap-uw –vmk vmk0

  • Ana bilgisayar vmnic üzerinde belirli bir fiziksel ağ kartının canlı bir görüntüsünü görüntülemek için:

# pktcap-uw –uplink vmnicX

Örneğin;

# pktcap-uw –uplink vmnic7

  • Bir sanal makine için belirli bir vSwitch portunun canlı bir yakalamasını görüntülemek için –switchport seçeneğini kullanın:

# pktcap-uw –switchport switchportnumber

Örneğin:

# pktcap-uw –switchport 8

  • Çıktıyı bir dosyaya yakalamak için -o seçeneğini kullanın:

# pktcap-uw –vmk vmk# -o file.pcap

Örneğin:

# pktcap-uw –vmk vmk0 -o /tmp/test.pcap

Notlar:

  • -O seçeneğini kullandığınızda, diğer ayarlardan bağımsız olarak çıktı pcap formatında olur.
  • Pktcap-uw’nin kaç saniye çalışacağını belirtmek için -G <saniye> kullanın.
  • Pktcap-uw’nin yalnızca çıktı belirli bir dosya boyutu (megabayt cinsinden) olana kadar çalışacağını belirtmek için -C <dosya_boyutu> kullanın.
  • Yakalamayı sonlandırmak için Ctrl-Z yerine Ctrl-C’yi birden çok kez kullandığınızdan emin olun çünkü Ctrl-Z, arka planda çalışan işlemleri bırakarak sonraki pktcap-uw komutlarının çalışmasını engelleyebilir ve hatayı bildirebilir:
     

error: Can’t create the session, Exiting

Advanced Usage: aynı anda birden fazla bağlantı noktasını izleyin

  • VSwitch port numarasını almak için şu komutu çalıştırın:

            #net-stats –l

  • Bu parametreleri tanımlayın ve not edin:

Esxtop komutu tarafından döndürülen bağlantı noktası kimliği – –switchport 45333311

İzlemek istediğiniz vmnic2 fiziksel bağlantı noktası – –uplink vmnic5 –

çıktı pcap dosyasının konumu – /tmp/vmnic5.pcap

  • Aynı anda her iki noktada da paketleri yakalamak için pktcap-uw komutunu çalıştırın:

# pktcap-uw –switchport 45333311 -o /tmp/45333311.pcap & pktcap-uw –uplink vmnic5 -o /tmp/vmnic5.pcap &

Not: Burada varsaydığımız komut kabuğu Bash kabuğudur. Bu nedenle, vswitch üzerinde birden fazla yukarı bağlantınız varsa, sadece bitişten sonra komutu eklersiniz ve sonuna & eklersiniz.

  • Pktcap-uw izlemesini kill komutuyla durdurabilirsiniz:

# kill $(lsof |grep pktcap-uw |awk ‘{print $1}’| sort -u)

  • Tüm pktcap-uw izlerinin durdurulduğunu kontrol etmek için bu komutu çalıştırın.

# lsof |grep pktcap-uw |awk ‘{print $1}’| sort –u

Uygulama

 Vm name : vm-3……

  • O…9… hostu üzerinde, ipsi verilen vm için MAC Adresi tespiti sebebiyle net -stasts -l | grep vm-…… komutu çalıştırdık, burada karşımıza çok sayıda mac adresi geldi, doğru capture’ı alabilmek için uygulama ekibini ilettiği MAC adresi kullandık ve Switch port number’ı belirledik.
  • Sonrasında aşağıdaki komut ile pcap alabiliriz. Burda önemli nokta  kendi üzerine almamak ilgli datastore üzerinde pcap altında log içine aldık.

pktcap-uw –switchport  50414494 –dir 0 -o /vmfs/volumes/VxRail-Virtual-SAN-Datastore a…../logs/50414494_in.pcap & \ pktcap-uw –switchport  50414494 –dir 1 -o /vmfs/volumes/VxRail-Virtual-SAN-Datastore-a9…..

6…../logs/50414494_out.pcap &

  • Sonrasında kill $(lsof | grep pktcap-uw | awk ‘{print $1}’| sort -u) komutuyla işelmi kill ettik.

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir