लिनक्स में खुले बंदरगाहों की संख्या कैसे ज्ञात करें?


17

लिनक्स में खुले बंदरगाहों की संख्या कैसे ज्ञात करें? मैं देखना चाहता हूं कि क्या मैं बंदरगाहों से भाग रहा हूं। इसके अलावा, मैं अपने ओएस की सीमा कैसे देखूं?


2
आप क्या कर रहे हैं कि आप बंदरगाहों से बाहर चलने से डरते हैं?
एमडीएमरा

जवाबों:


27

आधुनिक लिनक्स पर, ss (सॉकेट आँकड़े) उपयोगिता का उपयोग करें।

$ ss -s
Total: 10160 (kernel 10262)
TCP:   10349 (estab 8886, closed 408, orphaned 0, synrecv 0, timewait 393/0), ports 3147

Transport Total     IP        IPv6
*         10262     -         -        
RAW       0         0         0        
UDP       5         5         0        
TCP       9941      9941      0        
INET      9946      9946      0        
FRAG      0         0         0        

9
netstat -an | grep ESTABLISHED | wc -l

आपको खुले बंदरगाहों की संख्या, मेरे मामले में 32 देगा।

cat /proc/sys/net/ipv4/ip_local_port_range

कुछ इस तरह लौटेगा:

32768 61000

जिसका अर्थ है, ६१००० - ३२OR६ - - $ लागत = उपलब्धियां

मेरे बॉक्स पर,

61000-32768-32 = 28200 उपलब्ध पोर्ट नंबर।


-a46 काम नहीं किया। कोई मदद?
एरॉट्सप्पा

क्या तुम दूर चल रहा है? (यह ubuntu सर्वर 10.04 LTS पर काम करता है)। बेशक, अगर आपके पास ipv6 स्थापित नहीं है, तो बस netstat -a का उपयोग करें।
ग्रिजली

मेरे CentOS बॉक्स पर परीक्षण किया गया, ऐसा लगता है कि यदि आप नाम रिज़ॉल्यूशन को रोकने के लिए "-n" का उपयोग नहीं करते हैं। (netstat -an | grep ESTABLISHED | wc -l)
Grizly

बस नीचे "ss" देखा, भयानक, इसके बारे में पता नहीं था .. बहुत बेहतर! यह निर्धारित करने के लिए कि आपके लिनक्स को क्या कॉन्फ़िगर किया गया है, यह निर्धारित करने के लिए ip_local_port_range का उपयोग करें, लेकिन यह आपको दिखाता है कि आप वर्तमान में बहुत अधिक सुलभ प्रारूप में क्या उपयोग कर रहे हैं!
ग्रिजली

8

जैसा कि दूसरों ने उल्लेख किया है, वर्तमान में उपयोग में आने वाले बंदरगाहों का निर्धारण करने के लिए नेटस्टैट का उपयोग करने का उपकरण है। सीमा के अनुसार, उपलब्ध पोर्ट की संख्या 16 बिट अहस्ताक्षरित पूर्णांक है जो आपको 0-65535 की सीमा प्रदान करता है। पोर्ट जो बाँधने के लिए अनुप्रयोगों के लिए उपलब्ध हैं वे आरक्षित विशेषाधिकार प्राप्त / रूट पोर्ट (0-1024) हैं और जो कुछ भी आपके पंचांग पोर्ट रेंज द्वारा कवर नहीं किया गया है।

आप अपने पंचांग बंदरगाहों को चलाकर देख सकते हैं cat /proc/sys/net/ipv4/ip_local_port_range

उस दृढ़ता को संशोधित करने के लिए, आपको /etc/sysctl.conf फ़ाइल में "net.ipv4.ip_local_port_range" को जोड़ना होगा, या इसके साथ अंतःक्रियात्मक रूप से जोड़ना होगा sysctl -n net.ipv4.ip_local_port_range="<start_port> <end_port>"


1
नाइट पिकिंग, लेकिन यह बिल्कुल ipv4 सीमा नहीं है। यह एक tcp / udp लिमिट है। और वे स्वतंत्र रूप से ipv4 चलाते हैं। (उदा। ipv6 ट्रांसपोर्ट लेयर के लिए कुछ नहीं करता है)
जोएल के

आआहह, तुम सही हो। मैंने अपने उत्तर में IPV4 संदर्भ हटा दिया है।
एलेक्स

1

व्यक्तिगत रूप से मैं नैम्प पसंद करता हूं। आप nmap -P 1-65535 लक्ष्य जारी करके सभी बंदरगाहों की स्थिति का पता लगा सकते हैं। अधिकांश वितरण में यह पैकेज उनके पैकेज मैनेजर के माध्यम से उपलब्ध होना चाहिए।



0

netstat आपको यह देखने की अनुमति देगा कि कौन से पोर्ट खुले हैं, "netstat -" को देखने के लिए कि आपकी आवश्यकताओं में सबसे अच्छा क्या है।


1
netstat --inetसबसे मदद करेगा।
पॉल टॉम्बलिन

मेरा मतलब -? गायब चरित्र।
jer.salamon

या मैनपेज पढ़ें
एमडीएमरा

इसके अलावा --inet6 (दोनों के लिए कम: -4 -6), IPv6 सॉकेट और आईपी-एग्नॉस्टिक सॉकेट्स प्राप्त करने के लिए (बाद में दोहरी स्टैक मेजबानों पर डिफ़ॉल्ट होने के लिए, देखें rfc 3493 खंड 3.7)।
टोबू

0

'नैम्प लोकलहोस्ट' आपको आपके सभी खुले पोर्ट और उन पर चलने वाली सेवाएं देगा।


1
वास्तव में, यह केवल 127.0.0.1 के लिए बंदरगाहों को स्कैन करेगा, किसी भी वान आईपी के लिए नहीं
लुकास कौफमैन

0

netstat -tulnp

नेटस्टैट कार्यक्रम के तर्क नीचे सूचीबद्ध हैं:

*

  t - Show TCP
*

  u - Show UDP
*

  l - Show only listening processes (netstat can show both listening and all established connections, i.e. as a client too)
*

  n - Do not resolve network IP address names or port numbers
*

  p - Show the process name that is listening on the port

0

सभी पोर्ट की जांच करने के लिए टर्मिनल पर निम्न कमांड का उपयोग करें

netstat -lntu

किसी विशिष्ट पोर्ट स्थिति को देखने के लिए निम्न आदेश का उपयोग करें

netstat -an | grep ':6060'

अपने विशिष्ट पोर्ट नंबर के साथ 6060 बदलें।

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