2012-08-01 11 views
23

लिनक्स में, नेटस्टैट कमांड हमें सिस्टम में सक्रिय सॉकेट की जानकारी बताता है।लिनक्स में नेटस्टैट और एसएस के बीच अंतर?

मैं समझता हूँ कि netstat/proc/net/tcp का उपयोग करता है प्रणाली नेटवर्क की जानकारी प्राप्त करने के लिए।

netstat मैन पेज का कहना है कि नेटस्टैट अप्रचलित है, इसलिए हमें 'एसएस' का उपयोग करना चाहिए।

NOTE 
    This program is obsolete. Replacement for netstat is ss. Replacement 
    for netstat -r is ip route. Replacement for netstat -i is ip -s link. 
    Replacement for netstat -g is ip maddr. 

मुझे पता चला कि ss इसी तरह की सुविधा करता है, लेकिन यह /proc/net/tcp प्रणाली नेटवर्क की जानकारी प्राप्त करने के लिए उपयोग नहीं करता है।

अब मुझे उत्सुकता है कि ss सिस्टम नेटवर्क सॉकेट जानकारी कैसे प्राप्त करता है?

उत्तर

13

यह उन्हें Netlink का उपयोग कर सीधे कर्नेल स्पेस से प्राप्त करता है जो क्लासिक sockets API का उपयोग करता है।

+1

धन्यवाद, यह बेहतर होगा अगर कर्नेल स्पेस के बारे में पूछे जाने वाले प्रश्नों के बारे में अधिक विस्तृत जानकारी हो – daehee

5

ss iproute2 पैकेज में शामिल है और netstat का विकल्प है। सॉकेट आंकड़ों को डंप करने के लिए ss का उपयोग किया जाता है। यह netstat जैसी जानकारी दिखाता है। यह अन्य उपकरणों की तुलना में अधिक टीसीपी और राज्य की जानकारी प्रदर्शित कर सकता है। टीसीपी कनेक्शन और सॉकेट को ट्रैक करने के लिए यह एक नया, अविश्वसनीय रूप से उपयोगी और तेज (नेटस्टैट की तुलना में) उपकरण है।

3

बाहर चेक एस एस के लिए स्रोत:

https://github.com/shemminger/iproute2/blob/master/misc/ss.c

मूल रूप से यह सीधे गिरी प्रश्नों और बहुत तेजी से कि netstat प्रतिक्रिया कर सकते हैं।

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