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.