ss - linux सॉकेट सांख्यिकी उपयोगिता आउटपुट स्वरूप


21

विकल्प के ssसाथ उपयोग करते -pसमय, user/pid/fdकॉलम विशेष पंक्ति के नीचे कूदता है। उदाहरण के लिए यह वही है जो मैं वास्तव में देख रहा हूं:

# ss -nulp4
State      Recv-Q Send-Q                                           Local Address:Port                                             Peer Address:Port 
UNCONN     0      0                                                            *:20000                                                       *:*      
users:(("perl",pid=9316,fd=6))
UNCONN     0      0                                                            *:10000                                                       *:*      
users:(("perl",pid=9277,fd=6))
UNCONN     0      0                                               192.168.100.10:53                                                          *:*      
users:(("named",pid=95,fd=517),("named",pid=95,fd=516))
UNCONN     0      0                                                    127.0.0.1:53                                                          *:*      
users:(("named",pid=95,fd=515),("named",pid=95,fd=514))

पसंदीदा आउटपुट स्वरूपण :

# ss -nulp4
State      Recv-Q Send-Q                                           Local Address:Port                                             Peer Address:Port 
UNCONN     0      0                                                            *:20000                                                       *:*      users:(("perl",pid=9316,fd=6))
UNCONN     0      0                                                            *:10000                                                       *:*      users:(("perl",pid=9277,fd=6))
UNCONN     0      0                                               192.168.100.10:53                                                          *:*      users:(("named",pid=95,fd=517),("named",pid=95,fd=516))
UNCONN     0      0                                                    127.0.0.1:53                                                          *:*      users:(("named",pid=95,fd=515),("named",pid=95,fd=514))

यह पुष्टि करने के लिए कि कोई लाइन ब्रेक नहीं है, मैंने यह कोशिश की है:

# ss -nulp4 | cat -A
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port $
UNCONN     0      0                         *:20000                    *:*      users:(("perl",pid=9316,fd=6))$
UNCONN     0      0                         *:10000                    *:*      users:(("perl",pid=9277,fd=6))$
UNCONN     0      0            192.168.100.10:53                       *:*      users:(("named",pid=95,fd=517),("named",pid=95,fd=516))$
UNCONN     0      0                 127.0.0.1:53                       *:*      users:(("named",pid=95,fd=515),("named",pid=95,fd=514))$

और वास्तव में आप देख सकते हैं कि कोई भी नहीं था, लेकिन अब, अजीब रूप से पर्याप्त है, आउटपुट स्वरूप वह तरीका है जो मैं चाहता था। क्या कोई समझा सकता है कि यहाँ क्या हो रहा है? मैं अपने पसंदीदा स्वरूपण को कैसे प्राप्त कर सकता हूं?

यही एक चीज है जो मुझे पलायन से रोक रही netstatहै ss

जवाबों:


10

जैसे कि क्यों आदि।

ss, लिनक्स कर्नेल में iproute2 उपयोगिता संग्रह का हिस्सा, टर्मिनल की वर्तमान चौड़ाई प्राप्त करने के लिए एक ioctl () अनुरोध का उपयोग करता है ।

तथापि; संपूर्ण चौड़ाई का उपयोग «अन्य» फ़ील्ड के लिए किया जाता है और प्रक्रिया फ़ील्ड अगली पंक्ति में निचोड़ा जाता है।

आप इसे उदाहरण के लिए देख सकते हैं (जब टर्मिनल पर सीमित हो):

script ss.txt
ss -nlup4
exit

फिर अपनी टर्मिनल विंडो को चौड़ा करें और cat ss.txt

कारण क्यों

ss -nulp4 | cat -A

«काम करता है» क्योंकि उपयोगिता पहचानती है कि क्या यह एक ट्टी को लिखता है या नहीं :

if (isatty(STDOUT_FILENO)) {

}

जैसा कि आप स्रोत कोड में पूर्व पंक्ति से देख सकते हैं डिफ़ॉल्ट चौड़ाई 80 पर सेट की गई है। इस प्रकार यदि आपका टर्मिनल 130 कॉलम कहता है और आप:

ss -nulp4 | cat

यह पहचानता है कि उत्पादन एक टैटी (लेकिन एक पाइप के लिए नहीं है) और अन्य क्षेत्रों को 80 स्तंभों में crammed किया जाता है, जबकि इन 80 स्तंभों के बाद प्रक्रिया क्षेत्र लिखा जाता है। लेकिन जैसा कि आपका टर्मिनल व्यापक है, तो 80 कॉलम हैं और प्रक्रिया प्रविष्टि के लिए एक पंक्ति में प्रदर्शित किया गया है।

उदाहरण के लिए वही जाता है:

ss -nulp4 > ss.txt

के रूप में कैसे «मेरे पसंदीदा स्वरूपण को प्राप्त करने के लिए» एक संभावना रास्ता अनुचित दिशा में (टर्मिनल के आधार पर) कुछ करने के लिए है:

stty cols 100
ss -nlup4

अद्भुत विवरण और उस स्टिक कोल्स सेटिंग के साथ अच्छी चाल। बहुत धन्यवाद!
मोनसून

अच्छी व्याख्या, लेकिन उपयोग column -tसबसे सरल तरीका लगता है।
पाविक

18

आउटपुट बदलने के लिए निम्नलिखित एक सहायक हो सकता है:

ss -ltunp | column -t 

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