Küçük bir ofis ağım var ve büyük bir internet bağlantısı gecikmesi yaşıyorum. Basit bir ağ topolojimiz var: ubuntu sunucusu 10.10, 2 ağ kartı (bir internet bağlantısı, diğer ofis ağına) ve 20 bilgisayarı bağlayan bir anahtar çalıştıran yönlendirici olarak yapılandırılmış bir bilgisayar. Yönlendiricide toplanan dev bir tcpdump günlüğüm var ve bu gecikme sorununa en iyi çözümü bulmaya çalışmak için tüm TCP akışlarının RTT zamanı ile bir histogram çizmek istiyorum. Yani, birisi bana wireshark veya başka bir araç kullanarak nasıl yapılacağını söyleyebilir mi? Her bir TCP paketi ve paket için ACK yakalama arasındaki zaman delta ölçer tcp.analysis.ack_rtt kullanılarak ACK alınan paket içinPlot RTT histogramı wireshark veya başka bir araç kullanarak
cevap
Wireshark veya TShark TCP RTT verebilir.
Sen ACK paketlerinin çoğu gelen paketlerin İnternet'ten alınan acking ofis makineleri olacak bu dikkatli olmak gerekir, bu yüzden internetten paketi görerek yönlendirici arasındaki RTT'yi ölçmek ve göreceğiz Ofis makinenizden ACK.
İnternet RTT'nizi ölçmek için İnternet'ten ACKS aramanız gerekir (ACKing verileri ağınızdan gönderilir). Varsayarsak ofis makineleri 192.168.1.x gibi IP adresleri varsa ve bunu gibi bir ekran filtresi kullanabilirsiniz yönlendirici LAN portuna tüm verileri açmış:
tcp.analysis.ack_rtt and ip.dst==192.168.1.255/24
bir içine RTT'leri dökümü için. Analiz için csv, böyle bir tshark komutu kullanabilirsiniz;
tshark -r router.pcap -Y "tcp.analysis.ack_rtt and ip.dst==192.168.1.255/24" -e tcp.analysis.ack_rtt -T fields -E separator=, -E quote=d > rtt.csv
- -r seçeneği -Y seçeneği (kullanımdan kaldırıldı olmadan -2 -R)
- Kullanmak için ekran filtresi belirten
- sizin .pcap dosyasından okumak için TShark söyler -e seçeneği biçimlendirme çıkışı belirtmek çıkış
- -T seçenekleri için alanını belirler
Sen c Bu komutu çalıştırmadan önce tüm pcap dosyalarınızı tek bir dosyada birleştirmek için mergecap yardımcı programını kullanın. Bu çıktıyı histograma çevirmek kolay olmalı!
You can use tshark statistics to create a table of all tcp conversations: $ tshark -r test.pcap -q -z conv,tcp ================================================================================ TCP Conversations Filter: | | | Total | | Frames Bytes | | Frames Bytes | | Frames Bytes | 192.168.108.2:2720 147.234.1.253:21 28 2306 18 1047 46 3353 147.234.1.253:58999 192.168.108.2:2721 3 170 2 122 5 292 192.168.108.2:2718 147.137.21.94:139 0 0 3 186 3 186 192.168.108.2:2717 147.137.21.94:445 0 0 3 186 3 186 ================================================================================ Or use this little script: for file in `ls -1 *.pcap` do tshark -r $file -q -z conv,tcp > $file.txt done
Burada 5 dakikalık rupello cevabı esinlenerek PerlScript var:
#!/usr/bin/perl
# For a live histogram of rtt latencies, save this file as /tmp/x.pl and chmod +x /tmp/x.pl, then run:
# tshark -i br1 -R "tcp.analysis.ack_rtt and ip.dst==192.168.1.0/24" -e tcp.analysis.ack_rtt -T fields -E separator=, -E quote=d | /tmp/x.pl
# Don't forget to update the interface "br1" and "and ip.dst==..." bits as appropriate.
@t[$m=0]=20;
@t[++$m]=10;
@t[++$m]=5;
@t[++$m]=2;
@t[++$m]=1;
@t[++$m]=0.9;
@t[++$m]=0.8;
@t[++$m]=0.7;
@t[++$m]=0.6;
@t[++$m]=0.5;
@t[++$m]=0.4;
@t[++$m]=0.3;
@t[++$m]=0.2;
@t[++$m]=0.1;
@t[++$m]=0.05;
@t[++$m]=0.04;
@t[++$m]=0.03;
@t[++$m]=0.02;
@t[++$m]=0.01;
@t[++$m]=0.005;
@t[++$m]=0.001;
@t[++$m]=0;
@h[0]=0;
while (<>) {
s/\"//g; $n=$_; chomp($n);
for ($i=$m;$i>=0;$i--) { if ($n<=$t[$i]) { $h[$i]++; $i=-1; }; };
if ($i==-1) { $h[0]++; };
print "\033c";
for (0..$m) { printf "%6s %6s %8s\n",$t[$_],sprintf("%3.2f",$h[$_]/$o*100),$h[$_]; };
}
Put senin smokeping grafikte ve ... Bu ilham kaynağı olmuş fayda "istatistik ait İsviçre çakısı" için beklemede ...
Yeni tshark sürümleri, "tshark" ın önünde bir "stdbuf -i0 -o0 -e0" ile daha iyi çalışıyor gibi görünüyor.
PS Wireshark'ın DNS ve ICMP rtt istatistikleri yerleşik olup olmadığını veya bunları kolayca nasıl alabileceğini bilen var mı?
- 1. Matplotlib/Pandas histogramı kullanarak hata
- 2. Plot Javascript kullanarak Denklemler (veya herhangi bir istemci tarafı)
- 3. Bulabilir veya ilk önce dosyalar için başka bir araç arayabilir?
- 4. Bir histogramı başlatmadan önceki yoğunluklarla çizin
- 5. tshark komutunu kullanarak bir wireshark yakalama nasıl durdurulur
- 6. "Metrik" histogramı
- 7. Her zaman bir histogramı atlatmanın bir yolu?
- 8. Wireshark, ACSE ve MMS PDU'ları ayırt etmiyor
- 9. Histogramı colormap'ten alınan renklerle çizin
- 10. Histogram histogramı yoğunluk eğrisi ile
- 11. jQueryUI araç ipucu başka yerde
- 12. WPF Etiketi (veya başka bir öğe) animasyon kullanarak flaş yapma
- 13. Plot hatları
- 14. histogramı: giriş sayısı ve sayısı R
- 15. Başka bir pencere açmadan veya
- 16. Plot Yerleşimi MATLAB
- 17. plot çizelgesi nasıl çizilir
- 18. ggplot2 Scatter Plot Etiketler
- 19. Lambda veya LINQ kullanarak sınıfın bir listesini başka bir sınıf listesine dönüştürün veya eşleyin.
- 20. Plot Yoğun Veri Kümesi
- 21. Bir RGL'nin yönünü kaydedin plot3d() plot
- 22. Kırpma Hive plot
- 23. Firefox eklentisi veya HTML sayfalarını yerel olarak doğrulamak için başka bir araç
- 24. JMeter veya başka herhangi bir araç ile dinlenme testi web testi nasıl yüklenir?
- 25. Raylar modeli bir modele veya başka bir
- 26. Bir karakter veya başka bir regex?
- 27. wireshark search dize için tcp akışı
- 28. Wireshark: İstemci-sunucu iletişim kutusunu boşalt
- 29. Metin etiketlerinin konumunu koordinat_polar() histogramı olarak ayarlama
- 30. Araç Çubuğunu Parçada veya Etkinlikte Kullanma
Sorunun alaka düzeyini göremiyorum. – MaxVT