परिचय: मैंने एक बैश फ़ंक्शन बनाया है जो यह जांचने में सक्षम है कि क्या कोई पोर्ट उपलब्ध है और एक निश्चित अधिकतम पोर्ट संख्या तक गलत होने पर इसे 1 से बढ़ाता है। उदाहरण के लिए, यदि पोर्ट 500 अनुपलब्ध है, तो 550 तक 501 की उपलब्धता की जाँच की जाएगी।
उद्देश्य: इस बैश फ़ंक्शन का परीक्षण करने के लिए मुझे कई पोर्ट बनाने की आवश्यकता है जो लिस्टेन राज्य में हैं।
प्रयास: Windows पर इन PowerShell आदेशों का उपयोग करके एक LISTEN पोर्ट बनाना संभव है :
PS C:\Users\u> netstat -nat | grep 1234
PS C:\Users\u> $listener = [System.Net.Sockets.TcpListener]1234
PS C:\Users\u> $listener.Start();
PS C:\Users\u> netstat -nat | grep 1234
TCP 0.0.0.0:1234 0.0.0.0:0 LISTENING InHost
PS C:\Users\u> $listener.Stop();
PS C:\Users\u> netstat -nat | grep 1234
PS C:\Users\u>
इसके आधार पर मैं एक ऐसी कमांड के बारे में सोचने की कोशिश कर रहा था, जो CentOS पर भी ऐसा ही कर सकती थी, लेकिन मुझे नहीं पता कि मैंने इस मुद्दे को हल करने वाले समाधान को ढूंढे बिना Google को क्यों और कैसे शुरू किया।
अपेक्षित उत्तर : मैं उस उत्तर को स्वीकार करूंगा और उसे बढ़ाऊंगा जिसमें एक कमांड है जो लिस्टेन पोर्ट बनाने में सक्षम है और एक बार कमांड चलाने के बाद पोर्ट लिस्टेन स्टेट में रहना चाहिए, अर्थात:
[user@host ~]$ ss -nat | grep 500
LISTEN 0 128 *:500 *:*
netstat -an --tcp | awk '/LISTEN/ {sub(".*:", "", $4); print $4}' | sort -nu
:। पर * बीएसडीnetstat -an -f inet -p tcp | awk '/LISTEN/ {sub(".*\\.", "", $4); print $4}' | sort -nu
:।