कैसे tcp पैकेट नुकसान के लिए निष्क्रिय निगरानी? (लिनक्स)


61

मैं अपनी मशीन से / से टीसीपी कनेक्शन पर पैकेट नुकसान की निष्क्रिय निगरानी कैसे कर सकता हूं?

असल में, मैं एक ऐसा उपकरण चाहूंगा जो पृष्ठभूमि में बैठता है और एक रिपोर्ट उत्पन्न करने के लिए TCP ack / nak / re-transmits देखता है, जिस पर सहकर्मी आईपी पते "लगता है" भारी नुकसान का अनुभव कर रहे हैं।

इस तरह के अधिकांश सवाल जो मुझे लगता है कि SF ने iperf जैसे टूल का उपयोग करने का सुझाव दिया है। लेकिन, मुझे अपनी मशीन पर वास्तविक एप्लिकेशन से / से कनेक्शन की निगरानी करने की आवश्यकता है।

क्या यह डेटा बस लिनक्स टीसीपी स्टैक में वहां बैठा है?

जवाबों:


49

आपकी समस्या के पैमाने की सामान्य समझ के लिए, netstat -sआपकी कुल संख्या पर नज़र रखी जाएगी।

# netstat -s | grep retransmitted
     368644 segments retransmitted

आप segmentsअधिक विस्तृत दृश्य प्राप्त करने के लिए grep का उपयोग कर सकते हैं:

# netstat -s | grep segments
         149840 segments received
         150373 segments sent out
         161 segments retransmitted
         13 bad segments received

अधिक गहरे गोता लगाने के लिए, आप संभवतः विंडसर को आग देना चाहेंगे।

Wireshark tcp.analysis.retransmissionमें प्रवाह द्वारा रिट्रेंसमिशन देखने के लिए अपना फ़िल्टर सेट करें ।

मैं इसके साथ आ सकता हूं सबसे अच्छा विकल्प।

अन्य मृत सिरों का पता लगाया:

  • netfilter / कॉन्‍ट्रैक्‍ट टूल रिट्रांसमिट नहीं रखते हैं
  • तनाव से netstat -sपता चला कि यह सिर्फ छपाई है/proc/net/netstat
  • कॉलम 9 इन / प्रोक / नेट / टीसीपी आशाजनक दिख रहा था, लेकिन यह दुर्भाग्य से अप्रयुक्त प्रतीत होता है।

और आप # watch 'netstat -s के साथ खराब हुए पैकेट की निगरानी कर सकते हैं grep फिर से लिखा '
कोई नहीं

यह केवल आउटबाउंड समस्याओं को दिखाएगा। "netstat -s | grep सेगमेंट" मेरे लिए अधिक उचित प्रतीत होता है।
akostadinov

1
यदि आप एक उचित आकार के नेटवर्क का प्रबंधन कर रहे हैं, तो मैं निरंतर निगरानी के लिए वायरशार्क पर पास्टोन की सिफारिश करूंगा - pastmon.sourceforge.net/Wikka-1.1.6.5/wikka.php?wakka=HomePage
symcbate

4
किसी कारण के लिए, यह retransmitedमेरे लिए (Ubuntu Server 14) वर्तनी है ।
सूदो

1
भेजे गए या प्राप्त किए गए रिट्रांसमिशन के लिए एक अच्छी दर क्या है?
abourget

12

ये आँकड़े / proc / net / netstat में हैं और collectlबाद में प्लेबैक के लिए आपके लिए इंटरएक्टिव रूप से या डिस्क पर लिखे जाने पर उनकी निगरानी करेंगे:

[root@poker ~]# collectl -st
waiting for 1 second sample...
#<------------TCP------------->
#PureAcks HPAcks   Loss FTrans
        3      0      0      0
        1      0      0      0

बेशक, यदि आप नेटवर्क ट्रैफ़िक के साथ साइड-बाय-साइड देखना चाहते हैं, तो बस इसके nसाथ शामिल करें -s:

[root@poker ~]# collectl -stn
waiting for 1 second sample...
#<----------Network----------><------------TCP------------->
#  KBIn  PktIn  KBOut  PktOut PureAcks HPAcks   Loss FTrans
      0      1      0       1        1      0      0      0
      0      1      0       1        1      0      0      0

7

आप ssविस्तृत टीसीपी आँकड़े प्राप्त करने के लिए उपकरण का उपयोग कर सकते हैं :

$ /sbin/ss -ti

डेबियन के तहत, apt-get install iprouteद्विआधारी प्राप्त करने के लिए उपयोग करें।


ध्यान दें कि प्रश्न पूछने वाला व्यक्ति एक ऐसे उपकरण की तलाश में था जिसे वे आउटपुट देख सकें। हालांकि अब तक उल्लिखित कुछ आदेश इस तरह से संचालित नहीं होते हैं, सभी उत्कीर्ण उत्तरों में ऐसा करने के लिए कम से कम एक विधि शामिल है।
एंड्रयू बी

2
@AndrewB: आप कर सकते हैं watch ss -ti
जॉन Zwinck

3

यह उत्तरी केरोलिना विश्वविद्यालय (UNC) के कुछ लोगों की तरह लगता है कि वास्तव में इसकी जांच के लिए एक उपयोगिता बनाई गई है:

क्रियाविधि

टीसीपी एक विरासत प्रोटोकॉल का एक उत्कृष्ट उदाहरण है जो संशोधनों के अधीन है। दुर्भाग्य से, टीसीपी के नुकसान का पता लगाने / वसूली तंत्र के रूप में मूलभूत रूप से किसी चीज का मूल्यांकन व्यापक नहीं है। हमारा उद्देश्य टीसीपी के घाटे और टीसीपी के प्रदर्शन पर इसके प्रभाव का पूर्ण यथार्थवादी मूल्यांकन करना है।

मैं अपने विश्लेषण में विस्तार और यथार्थवाद के आवश्यक स्तर को प्राप्त करने के लिए वास्तविक दुनिया टीसीपी कनेक्शन के निष्क्रिय विश्लेषण पर भरोसा करता हूं।

http://www.cs.unc.edu/~jasleen/Research-passivetcp.htm#Tool

साधन

टूल का उद्देश्य tcpanaly, tcpflows, LEAST और मिस्ट्री जैसे पूर्व टूल द्वारा उपलब्ध कराए गए सेगमेंट के आउट-ऑफ-सीक्वेंस सेगमेंट्स की पहचान करने और उन्हें चिह्नित करने के लिए अधिक पूर्ण और सटीक परिणाम प्रदान करना है। हमारी कार्यप्रणाली प्रत्येक सेगमेंट को वर्गीकृत करती है जो एक पैकेट ट्रेस में निम्न-अनुक्रम (OOS) में दिखाई देता है: निम्न में से किसी एक श्रेणी में नेटवर्क रीक्रिएटिंग या TCP रिट्रांसमिशन, एक टाइमआउट, डुप्लीकेट ACK, आंशिक ACK, चयनात्मक ACK, या अंतर्निहित पुनर्प्राप्ति द्वारा ट्रिगर। इसके अलावा, प्रत्येक प्रत्यावर्तन का भी आकलन किया जाता है कि इसकी आवश्यकता थी या नहीं।

मैं यह नहीं कहूंगा कि यह उत्पादन गुणवत्ता है। पहले मैंने मेमोरी में ip / port / ack tuples को स्टोर करने के लिए क्विक पर्ल स्क्रिप्ट्स का निर्माण किया है और फिर स्कैन किए गए पीक आउटपुट से डुप्लिकेट किए गए डेटा पर रिपोर्ट करता है, ऐसा लगता है कि यह अधिक गहन विश्लेषण प्रदान करता है।



0

जाहिरा तौर पर अच्छे पुराने सर , सभी प्रकार के अन्य सिस्टम आँकड़ों के साथ-साथ रिट्रांसमिशन (और अन्य tcp आँकड़े) इकट्ठा कर सकते हैं, जो कि सीपीयू, मेमोरी, डिस्क I / O, आदि जैसी समस्या की जांच करने पर भी दिलचस्प हो सकते हैं।

आपको एक पैकेज स्थापित करने की आवश्यकता हो सकती है: sysstat और इस विशेष प्रकार के आँकड़ों को स्विच -S SNMP के साथ सक्षम करें, RHEL / OracleLinux पर यह /etc/cron.d/sysstat में कॉन्फ़िगर किया गया है जहाँ / usr / lib64 / sa / sa1 लागू किया गया है। हर 5 मिनट में डिफ़ॉल्ट रूप से, लेकिन वह भी ट्यून किया जा सकता है।

इस डेटा उपयोग के विश्लेषण के लिए:

  • सर (कमांड लाइन, पाठ आधारित)
  • sadf http://sebastien.godard.pagesperso-orange.fr/matrix.html के अनुसार SVG बनाता है
  • ksar (जो अच्छे रेखांकन की योजना बना सकता है और जावा पर चलता है - वहाँ कई अलग-अलग क्लोन हैं जहाँ से sf.net और गितुब का चयन करना है अगर मुझे सही याद है)
  • http://www.sargraph.com (PHP के आधार पर, जिसके साथ मुझे कोई अनुभव नहीं है - जो आपके मन में है, अनुप्रयोग, प्रोग्रामिंग भाषा नहीं .com)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.