लिनक्स पर ओपन पोर्ट्स कैसे चेक करें: पूरी गाइड 2026

Linux टर्मिनल में ss और netstat कमांड से खुले पोर्ट दिखाए गए हैं

Linux पर open ports कैसे check करें - यह हर उस व्यक्ति के लिए एक जरूरी skill है जो server manage करता है, network की समस्याएं troubleshoot करता है, या system security को मजबूत बनाना चाहता है। एक open port essentially आपके system का एक दरवाजा होता है - और अगर आपको पता नहीं कि कौन से दरवाजे खुले हैं, तो आप उन्हें ठीक से secure नहीं कर सकते। चाहे आप Ubuntu पर web server चला रहे हों, VPS manage कर रहे हों, या किसी connectivity समस्या को diagnose कर रहे हों - open ports की list देखने से आपको पता चलता है कि आपका system network पर क्या expose कर रहा है। यह guide चार practical तरीके बताती है, results को filter करना सिखाती है, और यह भी दिखाती है कि जिन ports की जरूरत नहीं उन्हें कैसे बंद करें।

मुख्य बातें:

  • ss command Linux पर open ports list करने का सबसे आधुनिक और तेज़ तरीका है।
  • nmap से आप बाहरी नजरिए से ports scan कर सकते हैं, जिससे पता चलता है कि attackers को क्या दिखता है।
  • lsof से तुरंत पता करें कि कोई specific port किस process के पास है।
  • ufw या iptables से अनावश्यक ports बंद करना आपकी attack surface कम करने का सबसे सीधा तरीका है।

Linux पर Open Ports Check करना क्यों जरूरी है

आपकी Linux machine पर चलने वाली हर service एक या अधिक ports पर सुनती है। SSH port 22 पर, HTTP port 80 पर, और HTTPS port 443 पर। लेकिन महीनों तक software install और remove करने के बाद, servers पर अक्सर ऐसे ports खुले रह जाते हैं जिन्हें किसी ने जानबूझकर configure नहीं किया। port 5432 पर बिना किसी firewall rule के चलता हुआ एक भूला-बिसरा database daemon एक वास्तविक खतरा है जिसने कई बार data breach का कारण बना है।

Linux पर open ports check करने से आप:

  • यह audit कर सकते हैं कि कौन सी services वास्तव में चल रही हैं और expose हैं।
  • यह troubleshoot कर सकते हैं कि कोई application किसी दूसरी service से connect क्यों नहीं हो पा रही।
  • यह verify कर सकते हैं कि आपके firewall rules सही तरह से काम कर रहे हैं।
  • किसी security audit या penetration test की तैयारी कर सकते हैं।

नीचे दिए गए तरीके local inspection (machine खुद क्या report करती है) और external scanning (कोई remote host क्या देख सकता है) - दोनों को cover करते हैं। दोनों नजरिए जरूरी हैं।

तरीका 1: ss Command (आधुनिक, अनुशंसित)

ss command (socket statistics) ने अधिकांश आधुनिक Linux distributions पर netstat की जगह ले ली है। यह तेज़ है, अधिक विस्तृत जानकारी देती है, और iproute2 package में built-in है, जो Ubuntu, Debian, CentOS और Fedora पर default रूप से उपलब्ध होती है।

सभी open ports को उनके process names के साथ list करने के लिए यह command चलाएं:

sudo ss -tulnp

flags का विवरण:

  • -t - TCP sockets दिखाएं
  • -u - UDP sockets दिखाएं
  • -l - केवल listening sockets दिखाएं
  • -n - service names की जगह numeric ports दिखाएं
  • -p - हर socket का उपयोग करने वाला process दिखाएं

व्यावहारिक उदाहरण: Nginx और PostgreSQL चला रहे एक नए Ubuntu server पर output कुछ इस तरह दिख सकती है:

Netid  State   Recv-Q  Send-Q  Local Address:Port  Peer Address:Port  Process
tcp    LISTEN  0       128     0.0.0.0:80           0.0.0.0:*          users:(("nginx",pid=1234,fd=6))
tcp    LISTEN  0       128     127.0.0.1:5432       0.0.0.0:*          users:(("postgres",pid=5678,fd=5))
tcp    LISTEN  0       128     0.0.0.0:22           0.0.0.0:*          users:(("sshd",pid=910,fd=3))

ध्यान दें कि PostgreSQL केवल 127.0.0.1 से bind है, यानी यह बाहर से accessible नहीं है। SSH और Nginx 0.0.0.0 से bind हैं, मतलब वे किसी भी IP से connections स्वीकार करते हैं। यह एक ही output आपके exposure के बारे में बहुत कुछ बता देती है।

सभी ss options के लिए, आधिकारिक ss man page देखें।

तरीका 2: netstat Command (पुराना लेकिन प्रचलित)

netstat command पुराने net-tools package का हिस्सा है। यह अब कई distributions पर default रूप से install नहीं होती, लेकिन यह अभी भी काफी उपयोग में है और इसे जानना फायदेमंद है - खासकर पुराने systems पर काम करते समय।

जरूरत पड़ने पर install करें:

sudo apt install net-tools   # Debian/Ubuntu
sudo yum install net-tools   # CentOS/RHEL

netstat से Linux पर open ports list करने के लिए:

sudo netstat -tulnp

flags का अर्थ ss जैसा ही है। Output format थोड़ा अलग होता है लेकिन वही मुख्य जानकारी देता है: protocol, local address, port, और उसका उपयोग करने वाला process।

एक व्यावहारिक सीमा यह है कि हजारों connections वाले बहुत व्यस्त servers पर netstat, ss की तुलना में काफी धीमा हो सकता है। सामान्य server पर रोजमर्रा के कामों के लिए यह अंतर नगण्य है।

तरीका 3: nmap Port Scan (बाहरी नजरिया)

ऊपर बताए गए tools यह दिखाते हैं कि आपकी machine internally क्या report करती है। nmap एक अलग approach अपनाता है - यह network पर ports scan करता है, यह simulate करते हुए कि कोई बाहरी attacker या remote client क्या देख सकता है। यह बेहद जरूरी है क्योंकि firewall किसी port को block कर सकता है जो ss में अभी भी listening दिख रहा हो।

nmap install करें:

sudo apt install nmap   # Debian/Ubuntu
sudo yum install nmap   # CentOS/RHEL

एक ही network पर किसी दूसरी machine से server scan करें:

nmap -sT -p 1-1024 192.168.1.10

service version detection के साथ top 1000 सबसे सामान्य ports scan करने के लिए:

nmap -sV 192.168.1.10

-sV flag हर open port पर चल रहे software का version detect करने की कोशिश करता है। यह उन पुरानी services को पहचानने के लिए उपयोगी है जिन्हें patching की जरूरत है।

महत्वपूर्ण: nmap केवल उन्हीं servers पर चलाएं जो आपके अपने हों या जिन्हें scan करने की आपको स्पष्ट अनुमति हो। बिना अनुमति के किसी तीसरे पक्ष के system को scan करना आपके क्षेत्र में कानूनी रूप से अपराध हो सकता है।

अगर आप nmap install किए बिना यह check करना चाहते हैं कि कोई specific port आपके network के बाहर से reachable है या नहीं, तो हमारा मुफ्त Port Checker tool यह काम तुरंत कर देता है - कोई setup की जरूरत नहीं।

तरीका 4: lsof Command (Process-to-Port Mapping)

lsof (list open files) command network sockets को files की तरह treat करती है, जो Linux के "सब कुछ एक file है" दर्शन के अनुरूप है। यह तब खासतौर पर उपयोगी होती है जब आपको यह जानना हो: "port 8080 कौन सा process use कर रहा है?"

सभी network connections list करें:

sudo lsof -i

किसी specific port (उदाहरण के लिए port 3000) का उपयोग करने वाला process ढूंढें:

sudo lsof -i :3000

यह तब बेहद काम आती है जब किसी developer का Node.js application किसी port को block कर रहा हो और service restart करने से पहले आपको उस process को identify करके बंद करना हो।

Port, TCP, या UDP के अनुसार Results कैसे Filter करें

इन tools की raw output काफी लंबी हो सकती है। यहां सबसे उपयोगी filtering patterns दिए गए हैं:

केवल TCP listening ports दिखाएं (ss):

sudo ss -tlnp

केवल UDP ports दिखाएं (ss):

sudo ss -ulnp

कोई specific port खुला है या नहीं check करें (ss के साथ grep):

sudo ss -tulnp | grep :443

nmap से port के अनुसार filter करें:

nmap -p 80,443,8080 192.168.1.10

ये patterns रोजमर्रा की अधिकांश filtering जरूरतों को पूरा करते हैं। port 80 पर HTTP-specific troubleshooting के लिए, हमारी Port 80 HTTP Troubleshooting Guide देखें।

अगर आप Windows पर हैं और इसी तरह का walkthrough चाहते हैं, तो हमारी Windows पर Open Ports Check करने की Complete Guide 2026 देखें।

ufw या iptables से Port कैसे बंद या Block करें

कोई अनावश्यक open port ढूंढना आधा काम है। Linux के दो सबसे सामान्य firewall tools से उसे बंद करने का तरीका यहां दिया गया है।

ufw (Uncomplicated Firewall) का उपयोग - Ubuntu के लिए अनुशंसित

port 8080 पर incoming traffic block करें:

sudo ufw deny 8080/tcp

केवल SSH और HTTPS की अनुमति दें, बाकी सब block करें:

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 443/tcp
sudo ufw enable

मौजूदा firewall स्थिति check करें:

sudo ufw status verbose

iptables का उपयोग - उन्नत नियंत्रण के लिए

port 3306 (MySQL) पर सभी incoming traffic drop करें:

sudo iptables -A INPUT -p tcp --dport 3306 -j DROP

Rules को save करें ताकि reboot के बाद भी बने रहें:

sudo iptables-save | sudo tee /etc/iptables/rules.v4

iptables syntax और rule ordering के विस्तृत संदर्भ के लिए, आधिकारिक Netfilter documentation एक प्रामाणिक स्रोत है।

सुझाव: ufw या iptables से port block करने पर service चलती रहती है - बस बाहरी connections उस तक नहीं पहुंच पाते। अगर service को पूरी तरह बंद करना हो, तो sudo systemctl stop servicename और sudo systemctl disable servicename का उपयोग करें।

निष्कर्ष

Linux पर open ports check करने के लिए न तो जटिल tools चाहिए और न ही गहरी विशेषज्ञता। ss command आपको तेज़ और विश्वसनीय local view देती है। nmap बताता है कि बाहरी दुनिया क्या access कर सकती है। lsof pinpoint करता है कि कौन सा process किस port का मालिक है। और ufw या iptables से आप वह सब बंद कर सकते हैं जो expose नहीं होना चाहिए। इन checks को नियमित रूप से चलाना - खासकर नया software install करने या network configuration बदलने के बाद - आपके Linux servers को secure रखने की सबसे सरल आदतों में से एक है। अभी sudo ss -tulnp चलाएं और देखें कि आपका server वास्तव में क्या expose कर रहा है।

मुफ्त Port Checker tool - अपने Linux server पर कोई भी port तुरंत check करें

अपने Linux Server का कोई भी Port - तुरंत Check करें

यकीन नहीं कि कोई port बाहर से सच में reachable है? हमारा मुफ्त Port Checker tool सेकंडों में आपके server को बाहरी नजरिए से scan करता है - कोई installation नहीं, कोई configuration नहीं।

हमारा मुफ्त Port Checker Tool आज़माएं →

FAQ - सामान्य प्रश्न

अपने terminal में sudo ss -tulnp चलाएं। यह आधुनिक ss command का उपयोग करके सभी TCP और UDP listening ports को process name के साथ दिखाता है। यह netstat से तेज़ है और Ubuntu तथा Debian सहित अधिकांश मौजूदा Linux distributions पर default रूप से उपलब्ध है।

दोनों commands open ports और socket की जानकारी दिखाती हैं, लेकिन ss, netstat का आधुनिक विकल्प है। यह सीधे kernel से data पढ़ती है, जिससे यह व्यस्त systems पर तेज़ और अधिक सटीक होती है। netstat के लिए अलग net-tools package चाहिए, जो अब कई distributions पर default रूप से install नहीं होता।

network पर किसी दूसरी machine से nmap -p PORT TARGET_IP उपयोग करें। कुछ भी install किए बिना बाहरी check के लिए, web-based port checker tool उपयोग करें। यह तरीका firewall rules को ध्यान में रखते हुए test करता है कि port बाहर से reachable है या नहीं - जो ss जैसे local tools नहीं बता सकते।

sudo lsof -i :PORT या sudo ss -tulnp | grep :PORT उपयोग करें। दोनों commands उस port से जुड़े process का नाम और PID दिखाती हैं। lsof का तरीका खासतौर पर स्पष्ट होता है क्योंकि यह command, PID और user को पठनीय format में list करता है।

नहीं। ufw या iptables से port block करने पर बाहरी connections service तक नहीं पहुंच पातीं, लेकिन service खुद चलती रहती है। इसे पूरी तरह बंद करने के लिए sudo systemctl stop servicename उपयोग करें। इसे reboot पर दोबारा शुरू होने से रोकने के लिए sudo systemctl disable servicename भी चलाएं।