একটি নির্দিষ্ট বন্দরটি পিং করুন


670

এখানে একটি দ্রুত তাত্পর্যপূর্ণ চেক।

আপনি কি কোনও মেশিনের নির্দিষ্ট পোর্টটি পিং করতে পারেন এবং যদি তাই হয় তবে আপনি একটি উদাহরণ দিতে পারেন?

আমি ভালো কিছু খুঁজছি ping ip address portNum


1
উইন্ডোজের জন্য এই প্রশ্নটি চেক করা যায়
npocmaka

উত্তর:


720

আপনি পোর্টগুলি পিং করতে পারবেন না, যেহেতু পিং আইসিএমপি ব্যবহার করছে যা পোর্টগুলির ধারণা নেই। বন্দরগুলি টিসিপি এবং ইউডিপির মতো পরিবহন স্তর প্রোটোকলের অন্তর্ভুক্ত । তবে, আপনি বন্দরগুলি খোলা আছে কিনা তা দেখতে এনএমএপ ব্যবহার করতে পারেন

nmap -p 80 example.com

সম্পাদনা: যেমন ফ্লোক্রা উল্লেখ করেছেন, এনএম্যাপ কেবল পিং-ফর-পোর্ট-থ্যাটিয়ের চেয়ে বেশি। এটি সিকিউরিটি অডিটর এবং হ্যাকারদের সেরা বন্ধু এবং এটি প্রচুর দুর্দান্ত বিকল্প নিয়ে আসে। সমস্ত সম্ভাব্য পতাকা জন্য ডক পরীক্ষা করুন।


15
আপনি -PNপ্রদত্ত বন্দরটি পরীক্ষা করার আগে হোস্ট আবিষ্কারের এনএমএপটি সাধারণত এড়িয়ে যেতে যোগ করতে পারেন ।
flokra

27
কিছু লোককে কিছুটা সমস্যা বাঁচাতে: লিংক (বা গুগল nmap windows) থেকে উইন্ডোতে এনএম্যাপ / ক্যান / ইনস্টল করা যেতে পারে , তবে এটি ভিপিএনগুলিতে কাজ করে না। পাইপিং মনে হচ্ছে না যে তারা বিস্তৃত ঠিকানা স্ক্যান করতে সক্ষম হয়েছে। আমি নীচে পাইথন স্ক্রিপ্ট পোস্ট করেছি যা ভিপিএন-এর মাধ্যমে বিভিন্ন পোর্টের বিস্তৃত ঠিকানাগুলিতে স্ক্যান করতে কাজ করবে।

23
অন্যদের জন্য: ম্যাক ওএস এক্সে এনএম্যাপের অস্তিত্ব নেই, আপনি হোমব্রিউ brew install nmapবা ম্যাকপোর্টের মাধ্যমে এনএম্যাপ ইনস্টল করতে পারেন ।
লাইফের হাইওয়ে

17
এনপ্যাপের চেয়ে এনপিং এই কাজের জন্য আরও উপযুক্ত। এনপিং এনএম্যাপ বিতরণের একটি অংশ।
সিএমসিডিগ্রাগনকাই

6
ম্যাক
ওএসএক্সের

191

নির্দিষ্ট পোর্টে টেলনেট সেশনটি খুলুন, উদাহরণস্বরূপ:

# telnet google.com 80
Trying 74.125.226.48...
Connected to google.com.
Escape character is '^]'.

আপনার সেশনটি বন্ধ করতে, Ctrl+ চাপুন ]


23
netcatএছাড়াও দুর্দান্ত কাজ করে এবং কম ভার্বোস হয়।
পেটরাস

3
বন্দরটি যদি টিসিপি বন্দর হয় তবে এটির জন্য টেলনেট ভাল কাজ করে।
ফ্যালকন মোমোট


1
ম্যাক ব্যবহারকারীদের জন্য - netcatএখন ম্যাকওএস হাইসিয়ারার অন্তর্নির্মিত, যেখানে হোমব্রু থেকে টেলনেট ইনস্টল করা যেতে পারেbrew install telnet

98
$ nc -vz google.com 80
Connection to google.com 80 port [tcp/http] succeeded!

10
timeলাইক ইন ব্যবহার করুন time nc -vz www.example.com 80এবং আপনার কাছেও একটি ধরণের আরটিটি হবে।
xebeche

3
একমাত্র সমাধান যা অ্যামাজন ইসি 2 উদাহরণগুলিতে কোনও ইনস্টলেশন ছাড়াই কাজ করে।
মাসাদো

-z কি? ncat 6.40 on rhel7 এটি একটি অজানা বিকল্প দেয়
তাগর

উবার্টু সংস্করণে সহায়তা অনুসারে @ টাগর, -z হ'ল জিরো -১ / হে মোড, যা স্ক্যানিংয়ের জন্য ব্যবহৃত হয়।
বেন

88

আপনি যদি পাওয়ার উইন্ডো ভি 4 বা আরও নতুন উইন্ডোজ ইন্সটলেশনে রয়েছেন, আপনি পরীক্ষা-নেট-সংযোগ পাওয়ারশেল মডিউলটি ব্যবহার করতে পারেন:

Test-NetConnection <host> -port <port>

উদাহরণ: টেস্ট-নেট সংযোগ উদাহরণ.কম -পোর্ট 80

এই সেমিডলেটেরও উপনাম রয়েছে tnc। যেমনtnc example.com -port 80


80

আপনি পেপিং ব্যবহার করতে পারেন:

http://code.google.com/p/paping

C:\>paping.exe www.google.com -p 80 -c 4
paping v1.5.1 - Copyright (c) 2010 Mike Lovell

Connecting to www.l.google.com [209.85.225.147] on TCP 80:

Connected to 209.85.225.147: time=24.00ms protocol=TCP port=80
Connected to 209.85.225.147: time=25.00ms protocol=TCP port=80
Connected to 209.85.225.147: time=24.00ms protocol=TCP port=80
Connected to 209.85.225.147: time=24.00ms protocol=TCP port=80

Connection statistics:
        Attempted = 4, Connected = 4, Failed = 0 (0.00%)
Approximate connection times:
        Minimum = 24.00ms, Maximum = 25.00ms, Average = 24.25ms

1
অথবা পেপিংয়ের পরিবর্তে আপনি ক্রিপিং ব্যবহার করতে পারেন যা প্রায় দীর্ঘকাল ধরে রয়েছে এবং কিছু পরিষেবা পোর্ট করার পাশাপাশি পোর্টকে সমর্থন করে।

এটি কোনও পোর্টে পিং করতে ব্যবহার করা যেতে পারে বা মাত্র 80?
লুক পুপলেট

@ লুকপুপলেট উদাহরণ হিসাবে 80 নম্বরটি পরিবর্তন করুন। পেপিং.এক্সপি <হোস্টনাম / আইপি> -পি <portnumber> -c <প্রচেষ্টা সংখ্যা> টাইপ করে এটি চালান
ডেভিড কোস্টা

এটি দুর্দান্ত কাজ করে। -c *ধ্রুব papinging (?) জন্য ব্যবহার করুন ।
ব্যবহারকারী 2924019


26

curlকমান্ড চেষ্টা করুন , যেমন:

$ curl host:port

উদাহরণ স্বরূপ:

$ curl -s localhost:80 >/dev/null && echo Success. || echo Fail.
Success.

উপরের কমান্ডটি একটি শূন্য-বহির্গমন স্থিতি কোডগুলিতে ব্যর্থ হবে । কিছু নির্দিষ্ট ক্ষেত্রে যেমন খালি বা ত্রুটিযুক্ত প্রতিক্রিয়া (দেখুন man curl), আপনি নির্দিষ্ট প্রস্থান কোডগুলি সফল হিসাবে পরিচালনা করতে চাইতে পারেন, সুতরাং আরও বিশদ ব্যাখ্যার জন্য দয়া করে এই পোস্টটি দেখুন।


3
আমি এটি পছন্দ করি কারণ curlসেন্টস-এ ডিফল্টরূপে উপস্থিত, সুতরাং আমাকে কিছু ইনস্টল করতে হবে না।
bdemarest

কার্ল একটি রাস্পবেরি পাই (ডিস্ট্রো রাস্পিয়ান)
জন এম

1
এটি এখন পর্যন্ত সবচেয়ে মার্জিত এবং সর্বজনীন সমাধান। এটি একটি ঝরঝরে অনায়াসে পরিণত করতে আমি এটি সামান্য টুইট করেছি:IP="<ip>" ; PORT="<port>" ; curl -s "$IP:$PORT" > /dev/null && echo "Success connecting to $IP on port $PORT." || echo "Failed to connect to $IP on port $PORT."
লেফটি জি

21

আমি পিএসপিং ব্যবহার করে একটি সহজ সমাধান পেয়েছি:

psping 192.168.2.2:5000

এটি উইন্ডোজ সিসিনটার্নালসের অংশ ।

পিএসপিং পিং কার্যকারিতা, টিসিপি পিং, বিলম্ব এবং ব্যান্ডউইথ পরিমাপ প্রয়োগ করে।


1
এছাড়াও পিএসপিং মাইক্রোসফ্ট সিসি ইন্টার্নাল টিম থেকে আসে তাই অন্য মাইক্রোসফ্ট ওরিয়েন্টেড লোকদের সাথে আচরণ করার সময় কিছুটা বৈধ হিসাবে বিবেচিত হতে পারে। (এবং খুব পুরানো PortQry এর তুলনায় আরও ভাল কার্যকারিতা রয়েছে)
শহীদ

পিএসপিংয়ের একটি কাস্টম পোর্ট ব্যবহার করার সময় বিলম্বিত পরিমাপ সরবরাহ করার সুবিধা রয়েছে, যা টেস্ট-নেট সংযোগটি করতে পারে না (এটি কেবল আইসিএমপি প্রতিক্রিয়া সময়কে রিপোর্ট করে)।
জেফ মাইলস

14

লিনাক্সে আপনি হপিং ব্যবহার করতে পারেন তবে এটি আইসিএমপি নয়, টিসিপি ব্যবহার করে।

hping example.com -S -V -p 80

1
হপিং (আমার উবুন্টুতে hping3) দুর্দান্ত। এটি পর্যায়ক্রমে পিনের মতো অনুসন্ধানটি পুনরাবৃত্তি করে এবং এখানে প্রস্তাবিত অনেকগুলি সরঞ্জামের বিপরীতে। এটি প্যাকেটটি দিয়ে যায় কিনা এবং বন্দরটি খোলা আছে কিনা উভয়ই তা পরীক্ষা করে। যদি এটি খোলা থাকে তবে আপনি flags=SA(অর্থাত্ এসওয়াইএন এসকে) পাবেন, এবং এটি বন্ধ থাকলে আপনি flags=SR(অর্থাত্ এসওয়াইএন আরএসটি) পাবেন। নোট করুন যে সম্ভবত আপনার -Vএখানে পতাকা লাগবে না , তবে হিপিং চালানোর জন্য আপনার সূডো / রুট দরকার।
mc0e

অসাধারণ! অন্যান্য অনেক জবাবের বিপরীতে, এই আরটিটি ল্যাটেন্সির মতো রিপোর্ট করে pingএবং থেমে যাওয়া পর্যন্ত পিংস করে।
এডওয়ার্ড অ্যান্ডারসন

11

পিং খুব সুনির্দিষ্ট তবে আপনি যদি কোনও পোর্ট খোলা আছে কি না এবং উইন্ডোজ বাক্সটি চালাচ্ছেন তা যদি পরীক্ষা করতে চান তবে পোর্টকিউই আপনার বন্ধু।

আমি এটি কেবল সংযোগ সমস্যাগুলির জন্য ডোমেন কন্ট্রোলারদের পরীক্ষার জন্য ব্যবহার করেছি, তবে এটি তার জন্য একটি ট্রিট কাজ করেছে, সুতরাং আপনার পক্ষে কাজ করা উচিত।


1
এমএস এক্সচেঞ্জ দল কর্তৃক পোর্টকিউরি প্রথমত ১৯৯৯/২০০০ সালে মুক্তি পেয়েছিল তবে এমএসের সাম্প্রতিক সংস্করণটি দূরবর্তী বন্দরগুলি (স্বাস্থ্য ও সুরক্ষা) অনুসন্ধান করার ক্ষমতা অপসারণ করে এটি স্তম্ভিত করেছে বলে মনে হয়।
লুক পুপলেট

8

এখানে একটি দ্রুত এবং নোংরা। নেট কনসোল অ্যাপ্লিকেশন:

    static void Main(string[] args)
    {
        string addressArgument = null, portArgument = null;

        System.Net.Sockets.TcpClient tcpClient = null;

        try
        {
            addressArgument = args[0];
            portArgument = args[1];

            int portNumber;
            portNumber = Int32.Parse(portArgument);

            tcpClient = new System.Net.Sockets.TcpClient();
            tcpClient.ReceiveTimeout = tcpClient.SendTimeout = 2000;


            IPAddress address;
            if (IPAddress.TryParse(args[0], out address))
            {
                var endPoint = new System.Net.IPEndPoint(address, portNumber);
                tcpClient.Connect(endPoint);
            }
            else
            {
                tcpClient.Connect(addressArgument, portNumber);
            }

            Console.WriteLine("Port {0} is listening.", portArgument);
        }
        catch (Exception e)
        {
            if (e is SocketException || e is TimeoutException)
            {
                Console.WriteLine("Not listening on port {0}.", portArgument);
            }
            else
            {
                Console.WriteLine("Usage:");
                Console.WriteLine("    portquery [host|ip] [port]");
            }
        }
        finally
        {
            if (tcpClient != null)
                tcpClient.Close();
        }
    }

5

না।

বন্দরে চলমান পরিষেবাটি পিং বোঝে এমন কোনও গ্যারান্টি নেই। আপনি পিং, টিসিপি বা ইউডিপি বন্দরটির "স্বাদ" কীসের প্রশ্নটিও খোলেন? যেহেতু পিং "প্রোটোকল" কোনওটিই ব্যবহার করে না (পিং আইসিএমপি ব্যবহার করে প্রয়োগ করা হয় ) তাই এটি খুব একটা বোঝায় না।


4

আমি নিশ্চিত যে নাগিওস চেক_টিসিপি অনুসন্ধান আপনি যা চান তা করে। এগুলি এখানে পাওয়া যাবে এবং নাগিওস প্রসঙ্গে ব্যবহার করার জন্য নকশাকৃত হলেও এগুলি সমস্ত স্ট্যান্ডএলোন প্রোগ্রাম।

$ ./check_tcp -H host -p 22
TCP OK - 0.010 second response time on port 22|time=0.009946s;0.000000;0.000000;0.000000;10.000000

4

এটিই একমাত্র সমাধান যা ক্লায়েন্ট মেশিনের সাথে উইন্ডোজ ভিস্তা বা উইন্ডোজ 7 হিসাবে ভিপিএনগুলির জন্য কাজ করে , অন্য তালিকাভুক্ত উত্তরগুলি কেবল কার্যকরভাবে কাজ করে না। এই উত্তরটি আগে মুছে ফেলা হয়েছিল এবং হওয়া উচিত ছিল না, কারণ এটি বাস্তব-জগতের সাধারণ মামলার একমাত্র সমাধান। মুছে ফেলার জন্য কোনও আপিল উপলব্ধ নেই বলে আমি অন্য উত্তরগুলি ব্যবহার করার চেষ্টা করে যা হতাশ করেছি তা অন্যকে বাঁচাতে এটি পুনরায় পোস্ট করছি।

নীচের উদাহরণটি সনাক্ত করে যে ভিপিএন-তে কোন আইপি রয়েছে যা উইন্ডোজ 7 এ চলছে ক্লায়েন্টের সাথে ভিএনসি / পোর্ট 5900 খোলা আছে।

আইপি এবং পোর্টগুলির প্রদত্ত তালিকাটি স্ক্যান করতে একটি সংক্ষিপ্ত পাইথন (v2.6.6) স্ক্রিপ্ট:

from socket import *

fTimeOutSec = 5.0
sNetworkAddress = '192.168.1'
aiHostAddresses = range(1,255)
aiPorts = [5900]

setdefaulttimeout(fTimeOutSec)
print "Starting Scan..."
for h in aiHostAddresses:
    for p in aiPorts:
        s = socket(AF_INET, SOCK_STREAM)
        address = ('%s.%d' % (sNetworkAddress, h))
        result = s.connect_ex((address,p))
        if ( 0 == result ):
            print "%s:%d - OPEN" % (address,p)
        elif ( 10035 == result ):
            #do nothing, was a timeout, probably host doesn't exist
            pass
        else:
            print "%s:%d - closed (%d)" % (address,p,result)

        s.close()
print "Scan Completed."

ফলাফলগুলি দেখে মনে হয়েছিল:

Starting Scan...
192.168.1.1:5900 - closed (10061)
192.168.1.7:5900 - closed (10061)
192.168.1.170:5900 - OPEN
192.168.1.170:5900 - closed (10061)
Scan Completed.

টাইমআউট, নেটওয়ার্ক, হোস্ট এবং পোর্ট যেগুলি প্রয়োজন তার উপযুক্ত হওয়ার জন্য শীর্ষে চারটি ভেরিয়েবল পরিবর্তন করা দরকার। আমার ভিপিএন-তে 5.0 সেকেন্ডের মনে হয়েছে যে ধারাবাহিকভাবে সঠিকভাবে কাজ করার জন্য যথেষ্ট, কম (সর্বদা) সঠিক ফলাফল দেয়নি। আমার স্থানীয় নেটওয়ার্কে, 0.5 যথেষ্ট পরিমাণের চেয়ে বেশি ছিল।


2
বন্ধ বন্দর নির্ণয়ের জন্য উইন 7 এক্সপি প্রো ক্লায়েন্ট / উইন সার্ভার 2008 আর 2 এ পুরোপুরি কাজ করে। (আমাকে 30 সেকেন্ডের টাইমআউট থ্রেশহোল্ডটি ব্যবহার করতে হয়েছিল তবে এটি নির্দিষ্ট কোড সার্ভারের পরিবেশের সাথে একটি সমস্যা হতে পারে এই কোডটি নিয়ে কোনও সমস্যা নয়)
ডেভিড জেমেন্স


1

বাশ শেল-এ, আপনি টিসিপি সিউডো-ডিভাইস ফাইলটি ব্যবহার করতে পারেন , উদাহরণস্বরূপ:

</dev/tcp/serverfault.com/80 && echo Port open || echo Port closed

এখানে 1 সেকেন্ডের টাইমআউট বাস্তবায়নকারী সংস্করণটি দেওয়া হচ্ছে:

timeout 1 bash -c "</dev/tcp/serverfault.com/81" && echo Port open || echo Port closed

0

যদি আপনি একটি * নিক্স অপারেটিং সিস্টেম চালাচ্ছেন তবে "জেনম্যাপ" ইনস্টল ও ব্যবহার করে দেখতে চেষ্টা করুন এটি এনএম্যাপের জন্য একটি জিইউআই এবং এটিতে বেশ কয়েকটি দরকারী স্ক্যান প্রোফাইল রয়েছে যা নতুন ব্যবহারকারীর জন্য দুর্দান্ত সহায়তা।


জেনম্যাপ উইন্ডোজের জন্যও উপলব্ধ।
নিক ইয়ং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.