টেলনেট ছাড়াই চেক পোর্ট খোলা [বন্ধ]


17

টেলনেট ইনস্টল না করা অবস্থায় কোনও বন্দরটি খোলা এবং পৌঁছনীয় কিনা তা পরীক্ষা করার জন্য লোকেরা কী ব্যবহার করবে? উদাহরণস্বরূপ, আমি telnet <destination>টেলনেট অন্য প্রান্তে সিস্টেমের সাথে ইন্টারেক্ট করতে না পারলেও এটির প্রযুক্তিটি ব্যবহার করতাম এবং জানতাম এটি ছিল।

উইন্ডোজ 2008 এর সাথে টেলনেট ইনস্টল করা হয়নি তাই আমি কিছুটা হারিয়েছি। পরিবর্তে আমি কি ব্যবহার করতে পারি। এবং কিছু যদি এটি লিনাক্স বা সোলারিসে না থাকে তবে দয়া করে।

আমি একজন পরামর্শক যিনি বিভিন্ন সাইটে কাজ করেন। বিভিন্ন কারণে (অ্যাক্সেস রাইটস, কন্ট্রোলের সময় পরিবর্তন করুন, যদি আমি এটি ইনস্টল করি তবে কেউ যদি পরের বছর এটি ব্যবহার করে তবে আমাদের কিছু দায়বদ্ধতা থাকে ইত্যাদি) আমি অন্য কারও সার্ভারে ইনস্টল করতে পারি না। তবে একটি ইউএসবি বা অন্য স্বযুক্ত, অ-ইনস্টল থাকা সরঞ্জামটি দুর্দান্ত হবে ...


3
আপনি শুধু এটি ইনস্টল করবেন না কেন?
ক্রিস ম্যাককাউন

বা এর মতো কিছু ইনস্টল করুন nmap...
etagenklo



উত্তর:


25

বসের মতো পাওয়ারশেল ব্যবহার করুন


বেসিক কোড

$ipaddress = "4.2.2.1"
$port = 53
$connection = New-Object System.Net.Sockets.TcpClient($ipaddress, $port)

if ($connection.Connected) {
    Write-Host "Success"
}
else {
    Write-Host "Failed"
}

এটি একটি সেমিডলেটে পরিণত করুন

[CmdletBinding()]
Param(
  [Parameter(Mandatory=$True,Position=1)]
   [string]$ip,

   [Parameter(Mandatory=$True,Position=2)]
   [int]$port
)

$connection = New-Object System.Net.Sockets.TcpClient($ip, $port)
if ($connection.Connected) {
    Return "Connection Success"
}
else {
    Return "Connection Failed"
}

স্ক্রিপ্ট হিসাবে সংরক্ষণ করুন এবং সব সময় ব্যবহার করুন

তারপরে আপনি আপনার পাওয়ারশেল বা সেন্টিমিডি প্রম্পটে এমনভাবে কমান্ডটি ব্যবহার করুন:

PS C:\> telnet.ps1 -ip 8.8.8.8 -port 53

অথবা

PS C:\> telnet.ps1 8.8.8.8 53


4
আপনি কেবল এক্সিকিউট করতে পারেন: নিউ-অবজেক্ট সিস্টেম.নেট.সকেটস.টিসিপিসিলেট ("আইপি বা ডোমেননেম", ৮০) এবং আপনি যদি একটি সংযোগ স্থাপন করতে না পারেন তবে একটি ত্রুটি পাবেন, বা সংযোগটি সফল হলে তৈরি বস্তুটির তথ্য।
সুসুচিন

1
সকেটটি বন্ধ করার ক্ষেত্রে এটি কীভাবে কাজ করে? উদাহরণস্বরূপ আমি জানি আমি আইআইএস-এ কোনও ওয়েব রিকোয়েস্ট খুলি কিনা, তবে সংযোগটি বন্ধ না করে, এটি একটি সীমাতে পৌঁছে যাবে এবং আমি আর পরীক্ষা করতে সক্ষম হব না।
ভাসিলি সিরিাকিস

ভাল প্রশ্ন. আমি ভাবছি এটি আপনার উত্তরের মতো একই কাজ করে (যেহেতু আপনি / আমরা এটি নিষ্পত্তি করি না বা সকেটটি ম্যানুয়ালি বন্ধ করি না); টিসিপিক্লিয়েন্টের কোনও সময় আবর্জনা সংগ্রহ করা উচিত, বা তার আগে সকেট একটি পঠন সময়সীমা হিট করবে। শুধু অনুমান, এটি পরীক্ষা করা হয়নি!
সুসুচিন

1
আপনি যদি সকেটটি কিছু সময়ের জন্য খোলা রাখার বিষয়ে চিন্তা করতে না চান তবে আপনি এটি করতে পারেন: (নিউ-অবজেক্ট সিস্টেম. নেট.সকেটস T টিসিপিসিলেট ($ আইপি, $ পোর্ট)) আগের মতো একই চুক্তি বন্ধ করুন; আপনি সংযোগ করতে না পারলে ত্রুটি, তবে এটি যদি এটি সংযুক্ত হয়ে থাকে তবে এটি সফলভাবে পোর্টটি বন্ধ করে দিলে তা মুদ্রণ করে ফেলবে: অকার্যকর বন্ধ ()
সুসুইন

41

টেলনেট ছাড়াই টিসিপি পোর্ট পরীক্ষা করার বিভিন্ন উপায় রয়েছে।

বেস ( ম্যান পেজ )

# cat < /dev/tcp/127.0.0.1/22
SSH-2.0-OpenSSH_5.3
^C

# cat < /dev/tcp/127.0.0.1/23
bash: connect: Connection refused
bash: /dev/tcp/127.0.0.1/23: Connection refused


কার্ল

# curl -v telnet://127.0.0.1:22
* About to connect() to 127.0.0.1 port 22 (#0)
*   Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 22 (#0)
SSH-2.0-OpenSSH_5.3
^C

# curl -v telnet://127.0.0.1:23
* About to connect() to 127.0.0.1 port 23 (#0)
*   Trying 127.0.0.1... Connection refused
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host


পাইথন

# python
Python 2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> clientsocket.connect(('127.0.0.1', 22))
>>> clientsocket.send('\n')
1
>>> clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> clientsocket.connect(('127.0.0.1', 23))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in connect
socket.error: [Errno 111] Connection refused


পার্ল

# perl
use IO::Socket::INET;
$| = 1;
my $socket = new IO::Socket::INET(
  PeerHost => '127.0.0.1',
  PeerPort => '22',
  Proto => 'tcp',
);
die "cannot connect to the server $!\n" unless $socket;
print "connected to the server\n";
^D
connected to the server

+1 কার্ল পদ্ধতি সম্পর্কে সচেতন ছিল না, খুব দুর্দান্ত! :)
blong
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.