एक वैश्विक कैटलॉग सर्वर से मेरे संबंध के दौरान [PSH, ACK] क्या कर रहा है?


14

मेरा एक लिनक्स सर्वर एक वैश्विक कैटलॉग सर्वर के लिए LDAPS कनेक्शन स्थापित करने की कोशिश कर रहा है और कनेक्शन गिराया जा रहा है (संभवतः जीसी पक्ष द्वारा)।

चर्चा के उद्देश्य के लिए, मान लीजिए कि 1.1.1.1 लिनक्स सर्वर है और 1.2.3.4 वैश्विक कैटलॉग सर्वर है।

यदि मैं telnetलिनक्स बॉक्स से उपयोग करने की कोशिश करता हूं, तो मैं देखता हूं:

[root@foobox ~]# telnet gcfoo.exampleAD.local 3269
Trying 1.2.3.4...
Connected to gcfoo.examplead.local.
Escape character is '^]'.
Connection closed by foreign host.

4 वीं और 5 वीं लाइनों के बीच कोई देरी नहीं है। यह तुरंत कनेक्शन ड्रॉप कर देता है।

मुझे लगा कि telnetपरिणाम थोड़े भ्रामक हो सकते हैं (क्योंकि यह वास्तव में किसी भी प्रकार के सुरक्षित संचार के लिए उपयुक्त नहीं है) इसलिए मैंने उपकरण से वास्तविक कनेक्शन के प्रयास का एक पैकेट कैप्चर (वास्तविक प्रोग्राम का उपयोग करते हुए LDAPS की आवश्यकता है) एकत्र किया।

यहाँ मैं देख रहा हूँ (फिर से, निर्दोष लोगों की सुरक्षा के लिए आईपी और स्रोत बंदरगाहों का नाम बदल दिया गया है):

No.     Time      Source     Destination      Protocol    Length    Info
1       0.000000  1.1.1.1    1.2.3.4          TCP         66        27246 > msft-gc-ssl [SYN] Seq=0 Win=5840 Len=0 MSS=1460 SAC_PERM=1 WS=128
2       0.000162  1.2.3.4    1.1.1.1          TCP         62        msft-gc-ssl > 27246 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 SACK_PERM=1
3       0.000209  1.1.1.1    1.2.3.4          TCP         54        27246 > msft-gc-ssl [ACK] Seq=1 Ack=1 Win=5840 Len=0
4       0.003462  1.1.1.1    1.2.3.4          TCP         248       27246 > msft-gc-ssl [PSH, ACK] Seq=1 Ack=1 Win=5840 Len=194
5       0.007264  1.2.3.4    1.1.1.1          TCP         60        msft-gc-ssl > 27246 [RST] Seq=1 Win=64046 Len=0

मैं टीसीपी / आईपी के साथ थोड़ा कठोर हूं, इसलिए कृपया मेरी अज्ञानता को क्षमा करें ... मुझे पैक 1-3 में तीन-तरफा हैंडशेक लगते हैं। यह समझ आता है। पैकेट # 4 में क्या चल रहा है? क्या [PSH, ACK]मतलब है? यह एक अनावश्यक स्वीकारोक्ति की तरह लगता है जो अनावश्यक है। क्या इस 4 पैकेट में वास्तविक डेटा भेजा जा रहा है? या यह हैंडशेक का कुछ अजीबोगरीब सिलसिला है?

जवाबों:


24

PSHएक पुश ध्वज है: http://ask.wireshark.org/questions/20423/pshack-wireshark-capture

पुश ध्वज रिसीवर के नेटवर्क स्टैक को डेटा को सीधे प्राप्त सॉकेट में "पुश" करने के लिए कहता है, और ऐसा करने से पहले किसी भी अधिक पैकेट के लिए इंतजार नहीं करना चाहिए।

पुश फ्लैग का आमतौर पर मतलब होता है कि डेटा को इन-बिल्ट टीसीपी दक्षता में देरी करते हुए भेजा गया है, जैसे कि नागले का एल्गोरिथ्म या विलंबित अभिस्वीकृति

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

लिनक्स पर, यह setsockopt()झंडे के साथ किया जाता है TCP_QUICKACKऔर TCP_NODELAYman 7 socketअधिक जानकारी के लिए देखें ।


5

@DarkMoon ने समझाया कि PSH ध्वज क्या दर्शाता है। आपके डेटा के संबंध में, कनेक्शन की स्थापना पूरी हो जाती है (3-वे हैंडशेक), फिर, हाँ, क्लाइंट ने सर्वर को डेटा की 194 बाइट्स भेजीं ( Len=194)। सर्वर को डेटा पसंद नहीं आया और उसने कनेक्शन बंद कर दिया। संभावित रूप से क्लाइंट को सर्वर से संवाद करने के लिए ठीक से कॉन्फ़िगर नहीं किया गया है या इसके विपरीत जैसे एसएसएल / टीएलएस बेमेल।

यदि आपके पास पहुंच है, तो मैं सर्वर पर लॉग की जांच करने का सुझाव दूंगा कि क्या यह लॉग किया गया कि ग्राहक के डेटा के बारे में क्या पसंद नहीं है।

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