चेक पोर्ट बिना टेलनेट के खुला [बंद]


17

जब एक पोर्ट खुला और पहुंच योग्य नहीं है, तो टेलनेट स्थापित करने के लिए लोग क्या उपयोग करते हैं? जैसे मैं तकनीक का इस्तेमाल करता थाtelnet <destination> था और जानता था कि यह वहां था, भले ही टेलनेट दूसरे छोर पर सिस्टम के साथ बातचीत न कर सके।

Windows 2008 के साथ टेलनेट स्थापित नहीं है इसलिए मैं थोड़ा खो गया हूं। तो मैं इसके बजाय क्या उपयोग कर सकता हूं। और कुछ अगर लिनक्स या सोलारिस में नहीं है, तो कृपया।

मैं एक सलाहकार हूं जो विभिन्न साइटों पर काम करता है। कई कारणों से (एक्सेस अधिकार, नियंत्रण समय बदलें, अगर मैं इसे स्थापित करता हूं तो कोई इसका उपयोग करता है अगले वर्ष हमारे पास कुछ दायित्व हैं, आदि) मैं किसी और के सर्वर पर स्थापित नहीं कर सकता। लेकिन एक USB या अन्य स्वयं निहित, गैर-स्थापित टूल अद्भुत होगा ...


3
आप इसे स्थापित क्यों नहीं करते?
क्रिस मैककेन

या कुछ ऐसा स्थापित करें nmap...
etagenklo



1
देखें:
kenorb

जवाबों:


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"
}

इसे cmdlet में बदलें

[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"
}

स्क्रिप्ट के रूप में सहेजें और हर समय उपयोग करें

तब आप अपने शक्तिके या cmd प्रॉम्प्ट में कमांड का उपयोग करते हैं:

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

या

PS C:\> telnet.ps1 8.8.8.8 53


4
आप बस निष्पादित भी कर सकते हैं: नया-ऑब्जेक्ट System.Net.Sockets.TcpClient ("आईपी या डोमेननेम", 80) और यदि कनेक्शन सफल नहीं हुआ तो आप इसे कनेक्ट नहीं कर सकते हैं या बनाई गई ऑब्जेक्ट पर जानकारी प्राप्त कर सकते हैं।
त्सुशिन

1
सॉकेट बंद करने के संदर्भ में यह कैसे काम करता है? उदाहरण के लिए, मुझे पता है कि अगर मैं IIS के लिए वेबरेक्स्ट खोलता हूं, लेकिन कनेक्शन बंद नहीं करता, तो यह एक सीमा तक पहुंच जाएगा और मैं अब परीक्षण नहीं कर पाऊंगा।
वसिली सिरैकिस

अच्छा प्रश्न। मैं कल्पना करता हूं कि यह आपके उत्तर के समान है (क्योंकि आप / हम इसका निपटान नहीं करते हैं या सॉकेट को मैन्युअल रूप से बंद करते हैं); TcpClient को किसी बिंदु पर कचरा एकत्र करना चाहिए, या सॉकेट इससे पहले एक पढ़ने के समय को हिट करेगा। बस एक अनुमान है, यह परीक्षण नहीं किया है!
१२

1
यदि आप कुछ समय के लिए सॉकेट को खुला छोड़ने के बारे में चिंता नहीं करना चाहते हैं तो आप ऐसा कर सकते हैं: (नई-वस्तु System.Net.Sockets.TcpClient ($ ip, $ port))। पहले की तरह ही डील को बंद करें; यदि आप कनेक्ट नहीं कर सकते हैं तो त्रुटि है, लेकिन यह इसे प्रिंट करेगा यदि यह जुड़ा हुआ है तो पोर्ट को सफलतापूर्वक बंद कर दिया है: शून्य बंद ()
Tsuushin

41

यहां टेलनेट के बिना एक टीसीपी पोर्ट का परीक्षण करने के कई अलग-अलग तरीके हैं।

BASH ( मैन पेज )

# 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

# 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 कर्ल विधि से अवगत नहीं था, बहुत अच्छा! :)
१०
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.