2010-07-15 10 views
5

मैं tcpdump साथ http ट्रैफ़िक पर कब्जा कर रहा हूँ और टीसीपी धीमी शुरुआत में दिलचस्पी है और कैसे खिड़की वृद्धि आकार:wireshark और tcpdump -r: अजीब TCP विंडो आकार

$ sudo tcpdump -i eth1 -w wget++.tcpdump tcp and port 80 

जब मैं Wireshark साथ डंप फ़ाइल देखने विंडो आकार की प्रगति, सामान्य लग रहा है 5840, 5888, 5888, 8576, 11,264, आदि यानी ...

लेकिन जब मैं

$ tcpdump -r wget++.tcpdump -tnN | less 

मैं के माध्यम से डंप फ़ाइल देखने क्या अतर्कसंगत खिड़कियां होने लगते हैं आकार (IP पते संक्षिप्तता के लिए छोड़े गए):

: S 1069713761:1069713761(0) win 5840 <mss 1460,sackOK,timestamp 24220583 0,nop,wscale 7> 
: S 1198053215:1198053215(0) ack 1069713762 win 5672 <mss 1430,sackOK,timestamp 2485833728 24220583,nop,wscale 6> 
: . ack 1 win 46 <nop,nop,timestamp 24220604 2485833728> 
: . 1:1419(1418) ack 1 win 46 <nop,nop,timestamp 24220604 2485833728> 
: P 1419:2002(583) ack 1 win 46 <nop,nop,timestamp 24220604 2485833728> 
: . ack 1419 win 133 <nop,nop,timestamp 2485833824 24220604> 
: . ack 2002 win 178 <nop,nop,timestamp 2485833830 24220604> 

वहाँ एक रास्ता कमांड लाइन पर सामान्य/पूर्ण विंडो आकार पाने के लिए है?

उत्तर

8

खिड़की के आकार सही हैं - वे अभी अनसुलझे हैं।

कनेक्शन आरंभकर्ता ने wscale (विंडो स्केलिंग कारक) 7 सेट किया है, इसलिए इसके बाद के win मानों को बाइट्स में विंडो आकार प्राप्त करने के लिए 128 से गुणा किया जाना चाहिए। इस प्रकार win 46 5888 बाइट्स की एक विंडो इंगित करता है।

कनेक्शन प्राप्तकर्ता 6 के एक wscale की स्थापना की है, इसलिए इसकी win मूल्यों इस प्रकार win 133 8512 बाइट्स की एक खिड़की को इंगित करता है, और win 178 11,392 बाइट्स इंगित करता है 64 से गुणा किया जाना चाहिए।

+0

पहले मुद्रित करने के लिए है, यह क्यों किया जाता है? दूसरा, क्या कोई तरीका है कि मैं डंप फ़ाइल को Wireshark के तरीके से देखते समय आउटपुट में स्केलिंग स्वचालित रूप से करने के लिए 'tcpdump' प्राप्त कर सकता हूं? –

+0

@ रॉबर्ट: यह इस तरह से किया गया है क्योंकि मूल टीसीपी/आईपी स्पेक ने विंडो आकार के लिए 16 बिट फ़ील्ड प्रदान किया है; जब यह अपर्याप्त पाया गया, तो विंडो स्केलिंग तंत्र ने इसे फ़ील्ड आकार को बदलने के बिना बड़ी संख्याओं का प्रतिनिधित्व करने की अनुमति दी। ऐसा नहीं लगता है कि 'tcpdump' में स्केल किए गए विंडो आकार दिखाने का एक तरीका है - आप हमेशा पैच सबमिट कर सकते हैं;) आप हमेशा इसके बजाय 'tshark' (Wireshark का टेक्स्ट-आधारित संस्करण) का उपयोग कर सकते हैं। – caf

2

इसके अलावा, अगर उपकरण (wireshark या tcpdump, यह कोई बात नहीं) syn नहीं देख पा रहे है, यह बगैर माप का मूल्य है, जो आप कर सकते हैं मूर्ख

संबंधित मुद्दे