रिमोट सिस्टम (ubuntu) [बंद] के लिए एक पोर्ट खुला है या नहीं, इसकी जांच कैसे करें


53

क्या यह जांचना संभव है कि अगर पोर्ट ubuntu सर्वर पर रिमोट सिस्टम के लिए खुले हैं?

मुझे यह जांचने में सक्षम होना चाहिए कि मेरी मशीन पर एक पोर्ट (जैसे: ssh) रिमोट मशीन के लिए खुला है।

जवाबों:


72

पुराने टेलनेट का उपयोग करें:

[user@lappie ~]$ telnet host 22
Trying ip.adr.tld ...
Connected to host  (ip.addr.tld).
Escape character is '^]'.
SSH-2.0-OpenSSH_5.1p1 Debian-5

यह एक सफल प्रयास है। एक असफल व्यक्ति को इस तरह दिखना चाहिए;

[user@lappie ~]$ telnet host 23
Trying ip.adr.tld ...
telnet: connect to address ip.adr.tld: Connection refused
telnet: Unable to connect to remote host: Connection refused

या नैंप के साथ

[user@lappie ~]$ nmap host

Starting Nmap 5.21 ( http://nmap.org ) at 2010-10-07 11:25 CEST
Nmap scan report for host (ip.adr.tld)
Host is up (0.0052s latency).
rDNS record for ip.adr.tld : host.domain.tld
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
3000/tcp open  ppp
5666/tcp open  nrpe

Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds

बड़ी मदद!। मुझे लगा कि यह केवल पोर्ट नं के लिए सूचीबद्ध है जिसके लिए सेवाएं निर्दिष्ट होस्ट पर चल रही हैं। मैंने इसे सेवाओं को रोकने और फिर से nmap कमांड चलाने की जाँच की। इसलिए इसने उस बंदरगाह को सूचीबद्ध नहीं किया, जिसे मैंने रोका था। क्या यह वास्तव में रिमोट मशीन के लिए खुले पोर्ट दिखा रहा है?
user53864

1
@ user53864: आपको यह परीक्षण एक दूरस्थ मशीन पर चलाना चाहिए, जाहिर है।
नेटएक्सो एसेंजो

2
यह केवल टीसीपी सेवाओं के लिए काम करेगा।

nmapAws मशीन का उपयोग करके एक दुरुपयोग रिपोर्ट ट्रिगर करें।
न्यूबी

10

NMAP का प्रयोग करें। उदाहरण:

nmap example.com

आप डोमेन नाम के स्थान पर आईपी पते का उपयोग कर सकते हैं। यहाँ पूर्ण प्रलेखन है: http://nmap.org/book/man.html


1
इसके केवल उन बंदरगाहों को सूचीबद्ध करना है जिन पर सेवाएं निर्दिष्ट मशीन पर चल रही हैं।
user53864

फिर आप इसे गलत इस्तेमाल कर रहे हैं।
क्रिस्टोफर हम्मरस्ट्रॉम

@ user53864, यह सही है। अधिक विशेष रूप से, यह सभी खुले बंदरगाहों को सूचीबद्ध करेगा और यह भी वर्णन करेगा कि कौन सी सेवाएं उनका उपयोग कर रही हैं। यदि आप एक विशिष्ट पोर्ट की तलाश कर रहे हैं, तो बस "nmap example.com 22" को आज़माएं क्योंकि natxo asenjo ने कहा, जो पोर्ट 22 (SSH) को स्कैन करेगा, यह देखने के लिए कि क्या यह खुला है।
जोशुआ

9

यह सरल है:

nc -zw3 domain.tld 22 && echo "opened" || echo "closed"

-w3 समयबाह्य है


1
nc -vzw3 domain.tld 22 छोटा है और थोड़ा अधिक जानकारीपूर्ण हो सकता है ...
g2mk

5

एक स्क्रिप्ट के लिए, मैं निम्नलिखित की तरह कुछ का उपयोग करता हूं:

nmap example.com -p 22 -sV --version-all -oG - | grep -iq '22/open'

वापसी मान आपको बताता है कि क्या पोर्ट खुला है!


5

इस StackOverflow जवाब से :

आप एक पोर्ट स्कैनर की तलाश में हैं जैसे कि नैमप या नेटकैट, ये दोनों विंडोज, लिनक्स और ओएस एक्स के लिए उपलब्ध हैं।

उदाहरण के लिए, एक ज्ञात आईपी पर टेलनेट के लिए जाँच करें:

  nmap -A 192.168.0.5/32 -p 23

उदाहरण के लिए, host.example.com पर 20 से 30 तक खुले पोर्ट देखें:

  nc -z host.example.com 20-30


2

टेलनेट केवल टीसीपी सेवाओं के लिए काम करेगा, इसलिए यदि आप यह देखने की कोशिश कर रहे हैं कि आपका डीएचसीपी सर्वर (यूडीपी / 68) एक दूरस्थ मशीन पर चल रहा है तो यह काम नहीं करेगा। इसी तरह nmap चूक केवल टीसीपी पोर्ट को स्कैन करने के लिए।

यूडीपी बंदरगाहों के लिए उपयोग:

nmap -sU example.com -p 68


1

मैंने निम्नलिखित कमांड का उपयोग किया। यह आउटपुट देता है जो मुझे चाहिए था। nmap -A IPAddressOfRemoteSystem -p portNumber ex: nmap -A 192.168.1.87 -p 8080 (या) हम स्थानीय बंदरगाहों की भी जाँच कर सकते हैं

इससे पहले कि पहले जांचें कि निम्नलिखित कमांड का उपयोग करके पोर्ट क्या खुले हैं / सुनें मोड।

netstat -ntlp | grep LISTEN

उसके बाद

nmap -A localhost -p portNumber

और उदाहरण के लिए किसी भी एक पोर्ट को बंद करें यदि mysql 3306 पर चल रहा है तो आप इसे रोक सकते हैं,

sudo service mysql stop

और फिर,

nmap -A localhost -p 3306

आशा है कि यह उपयोगी होगा।

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