
O que as pessoas usam quando o Telnet não está instalado para verificar se uma porta está aberta e acessível? Por exemplo, eu costumava usar a técnica telnet <destination>
e sabia que ela estava lá, mesmo que o telnet não pudesse interagir com o sistema do outro lado.
Com o Windows 2008, o telnet não está instalado, então fiquei um pouco perdido. Então, o que posso usar? E algo se não estiver presente no Linux ou Solaris também, por favor.
Sou um consultor que trabalha em diversos sites. Por uma série de razões (direitos de acesso, tempos de controle de alterações, se eu instalar, alguém usar no próximo ano, teremos alguma responsabilidade, etc.), não posso instalar no servidor de outra pessoa. Mas um USB ou outra ferramenta independente e não instalada seria maravilhoso ...
Responder1
Use o Powershell como um chefe
Código básico
$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"
}
Um forro
PS C:\> test-netconnection -ComputerName 4.2.2.1 -Port 53
Transforme-o em um 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"
}
Salve como um script e use sempre
Em seguida, você usa o comando no prompt do PowerShell ou cmd da seguinte forma:
PS C:\> telnet.ps1 -ip 8.8.8.8 -port 53
ou
PS C:\> telnet.ps1 8.8.8.8 53
Responder2
Aqui estão várias maneiras diferentes de testar uma porta TCP sem telnet.
BASH(página de manual)
# 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
ondulação
# 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
Pitão
# 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
# 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