एक बैश स्क्रिप्ट से मैं कैसे जल्दी से पता लगा सकता हूं कि क्या 445एक सर्वर पर एक पोर्ट खुला / सुनाई दे रहा है।
मैंने कुछ विकल्पों की कोशिश की है, लेकिन मैं कुछ जल्दी चाहता हूं:
1. lsof -i :445 (सेकंड लेता है)
2. netstat -an |grep 445 |grep LISTEN(लेता सेकंड)
3. telnet(यह वापस नहीं आता है)
4. nmap, netcatसर्वर पर उपलब्ध नहीं हैं
ऐसे तरीके के बारे में जानकर अच्छा लगेगा जो पहले नहीं जगाता और उसके बाद जीआरईपी।
netstat -lnt(साथ -tऔर बिना -a) केवल टीसीपी कनेक्शन सुनने के लिए आउटपुट को सीमित करेगा। इसमें थोड़ी तेजी आ सकती है। -4IPv4 के लिए आप तभी जोड़ सकते हैं जब आपको IPv6 की आवश्यकता न हो।
netstat -an | grep PORTNUMBER | grep -i listenयदि आउटपुट खाली है, तो पोर्ट उपयोग में नहीं है।
lsofआपके लिए यह धीमा क्यों है, लेकिन आम तौर पर आपके द्वारा सूचीबद्ध समाधानों में यह सबसे अच्छा है। आपका netstatसमाधान बहुत विश्वसनीय नहीं है (जब भी आप इसका उपयोग कर सकते हैं grep, आप अनुमान लगा सकते हैं ; वैसे भी यह सच है अगर कोई उदाहरण के लिए 4450 पर सुन रहा है)। telnetऔर netcatवास्तव में एक कनेक्शन बनाने का प्रयास करते हैं, जो हमेशा वह नहीं हो सकता जो आप चाहते हैं।