Netstat -o / netstat --timers के आउटपुट की व्याख्या कैसे करें


17

netstat -oआउटपुट में कुछ टाइमर जानकारी शामिल है, लेकिन मुझे Timerकहीं भी कॉलम में आउटपुट का स्पष्टीकरण नहीं मिला है ।
क्या कोई इसे समझा सकता है या स्पष्टीकरण की ओर इशारा कर सकता है?

यह वह जगह है जो netstat -o का ouptput (Ubuntu 8.04 पर) जैसा दिखता है।

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Timer
tcp        0      0 192.168.22.1:443        111.111.11.210:5804     ESTABLISHEDkeepalive (6176.47/0/0)
tcp        0      0 192.168.22.1:443        192.168.22.253:48379    TIME_WAIT  timewait (36.57/0/0)
tcp        0    924 192.168.22.1:47763      10.9.169.60:443         ESTABLISHEDon (0.34/0/0)
tcp        0      0 192.168.22.1:443        192.168.111.99:4059     ESTABLISHEDkeepalive (6963.60/0/0)
tcp        0      0 192.168.22.1:443        192.168.111.74:1729     ESTABLISHEDkeepalive (1393.60/0/0)
tcp        0      0 192.168.56.1:42204      10.9.169.60:443         ESTABLISHEDoff (0.00/0/0)
tcp        0      0 192.168.56.1:42207      10.9.169.60:443         ESTABLISHEDoff (0.00/0/0)
tcp        0    940 192.168.22.1:42186      10.9.169.60:443         ESTABLISHEDon (0.28/0/0)
tcp        0      0 192.168.22.1:443        192.168.22.253:48367    TIME_WAIT  timewait (31.57/0/0)
tcp        0      0 192.168.22.1:42234      10.9.169.60:443         ESTABLISHEDoff (0.00/0/0)
tcp        0      0 192.168.22.1:42209      10.9.169.60:443         ESTABLISHEDoff (0.00/0/0)

जवाबों:


7

पहला नंबर स्पष्ट रूप से काउंटडाउन टाइमर है। स्थिति प्रकार के आधार पर, एक बार टाइमर के बाहर हो जाने पर, वह पुन: प्रयास करने के लिए एक और फिन या जो भी आवश्यक पैकेट भेजेगा, उसे पुनः प्रयास करेगा और भेजेगा। तो दूसरा नंबर रिट्रीट की संख्या पर नज़र रखता है। ध्यान दें कि टाइमर बढ़ता है क्योंकि टीसीपी के पास ट्रैफ़िक की स्थिति होने पर बैकऑफ़ टाइमर होता है। बैकऑफ़ टाइमर अत्यधिक बार-बार पुनर्प्रयास से बचता है। प्रत्येक विफलता के परिणामस्वरूप एक बड़ा और बड़ा बैकऑफ़ होता है। टीसीपी स्टैक के आधार पर, बैकऑफ़ घातीय वृद्धि या रैखिक हो सकता है। मुझे नहीं पता है कि 3 आंकड़ा क्या है। मेरे डिस्प्ले में हमेशा शून्य।


31

टाइमर कॉलम में दो फ़ील्ड हैं (ऊपर आपके o / p से):

keepalive (6176.47/0/0)  
<1st field> <2nd field>

1st fieldमान हो सकते हैं:
keepalive- जब keepalive टाइमर सॉकेट के लिए चालू है
on- जब पुनर्संचरण टाइमर सॉकेट के लिए चालू है
off- उपरोक्त में से कोई चालू है

2nd fieldतीन उपक्षेत्रों है:

(6176.47/0/0) -> (a/b/c)

a= टाइमर मान (एक = रखने योग्य टाइमर, जब 1 फ़ील्ड = "कीपैलिव"; = एक रिट्रांसमिशन टाइमर, जब 1 फ़ील्ड = "ऑन")
b=
c= रिट्रांसेमिशन की संख्या जो घटित हुई है = रखने की संख्या = रखने की संख्या।

उदाहरण के लिए, मैंने क्लाइंट और सर्वर (लूपबैक नहीं) के बीच दो सॉकेट खोले थे। रखने की सेटिंग है:

KEEPALIVE_IDLETIME   30
KEEPALIVE_NUMPROBES   4
KEEPALIVE_INTVL      10

और मैंने क्लाइंट मशीन का शटडाउन किया, इसलिए सर्वर साइड पर मैंने एक नेटस्टैट चलाया और आउटपुट था:

port1:

netstat -c --timer | grep "192.0.0.1:43245             192.0.68.1:49742"

tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.92/0/0)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.71/0/0)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (9.46/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (8.30/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (7.14/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (5.98/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (4.82/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (3.66/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (2.50/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.33/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.17/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (9.01/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (7.75/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (6.47/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (5.29/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (4.08/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (2.89/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.73/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.54/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (9.38/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (8.23/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (7.08/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (5.93/0/3)                                                                                                                               
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (4.76/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (3.62/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (2.48/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.32/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.13/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (8.98/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (7.78/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (6.62/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (5.45/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (4.29/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (3.14/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.99/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.85/0/4)

आप ऊपर देख सकते हैं कि सर्वर ने 10 सेकेंड के बाद प्रत्येक को चार रखने की जांच की है, और जब से इसे कोई प्रतिक्रिया नहीं मिल रही है, संख्या की जांच की जाने वाली गिनती बढ़ जाती है, और 4 के बाद, यह क्लाइंट से डिस्कनेक्ट हो जाता है।

पोर्ट 2:

2 वें कनेक्शन के लिए, सॉकेट समान था, सिवाय इसके, सर्वर साइड पर मेरा एप्लिकेशन क्लाइंट के नीचे जाने के बाद और रखवाली समाप्त होने से पहले कुछ संदेश भेजने की कोशिश कर रहा था:

 netstat -c --timer | grep "192.0.0.1:36483             192.0.68.1:43881"

tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (8.18/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (7.00/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (5.86/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (4.71/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (3.55/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (2.40/0/1)                                                                                                                               
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (1.21/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (0.05/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (8.91/0/2)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (7.75/0/2)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (6.56/0/2)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (5.39/0/2)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (4.14/0/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.21/2/2)  // <---- retransmission timer kicks in
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.68/3/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.74/4/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.59/4/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.43/4/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.28/5/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.11/5/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.95/6/2)

. . . . . 

tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.65/249/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.58/250/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.48/250/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.36/250/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.26/251/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.15/251/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (3.01/252/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.92/252/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.84/252/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.72/253/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.64/253/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.55/253/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.47/254/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.39/254/2)                                                                                                                                    
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.31/254/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.19/255/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.12/255/2)

जैसा कि आप देख सकते हैं, इस मामले में चीजें थोड़ी अलग हैं। जब मुवक्किल नीचे गया, तो मेरे सर्वर ने गुप्त संदेश भेजना शुरू कर दिया, लेकिन जब वह उन रखवाले को भेज रहा था, मेरे सर्वर ने ग्राहक को एक संदेश भेजने की कोशिश की। चूंकि क्लाइंट नीचे चला गया था, इसलिए सर्वर को क्लाइंट से कोई एसीके नहीं मिल सकता था, इसलिए टीसीपी रिट्रांसमिशन शुरू हो गया और सर्वर ने डेटा को फिर से भेजने की कोशिश की, जब रेट्रांसमिशन टाइमर (पहली बार में) क्षेत्र) की समय सीमा समाप्त हो गई।

उम्मीद है कि यह netstat --timerविकल्प को अच्छी तरह से समझाता है ।


नमस्ते। यदि आपने एक कनेक्शन खोला है, तो netstat इतनी सारी प्रविष्टियाँ क्यों प्रदर्शित करता है?
मार्को मार्सला

1
'-सी' ध्वज इस जानकारी को लगातार हर सेकंड प्रिंट करता है।
टूटा हुआ

1

पहला क्षेत्र: timewait/keepalive

अंतिम टीसीपी रखने के बाद जब अंतिम डेटा भेजा जाएगा, तब तक सेकंड में समय।

डिफ़ॉल्ट रूप से यह 7200 से शुरू होता है, और हर बार अधिक डेटा भेजे जाने पर फिर से रीसेट करता है। यदि मान कम है, उदाहरण के लिए। 4000 सेकंड, इसका अर्थ है कि कुछ जीवित कनेक्शन लटक रहे हैं या लंबी अवधि के लिए कुछ भी नहीं कर रहे हैं।

आंतरिक प्रॉक्सी या अन्य आंतरिक प्रक्रियाओं के कनेक्शन लंबे समय तक लटक सकते हैं, लेकिन वेब आधारित कनेक्शन के लिए ऐसा नहीं होना चाहिए।


2
बस लिनक्स पर भ्रम से बचने के लिए: टाइमर दिखाई देता है, netstat -oलेकिन यह कभी भी रीसेट नहीं करेगा, यह 0 पर गिना जाता है और फिर यह जांचता है कि क्या डेटा भेजा गया था। यदि यह एक पैकेट नहीं भेजेगा, अन्यथा यदि शेष समय की गणना करेगा और फिर से शुरू करेगा। इस तरह इसे कभी भी चल रहे टाइमर को बदलने की जरूरत नहीं है।
रात्रि

@eckes क्या आप बता सकते हैं कि आपका क्या मतलब है? काफी समझ में नहीं आया
Ionut Popa

जैसा कि मैंने कहा, netstat द्वारा प्रदर्शित संख्या गतिविधि पर रीसेट नहीं होती है। यह शून्य पर गिना जाता है और फिर शेष समय पर रीसेट करता है।
जेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.