Telnetに加えて開いているポートを確認する別の方法は何ですか?

Telnetに加えて開いているポートを確認する別の方法は何ですか?

次の例では、次のコマンドを使用してTelnet VIAポートをテストできます。ポート6667をテストします。

[root@kafka03 ~]# telnet kafka02 6667
Trying 103.64.35.86...
Connected to kafka02.
Escape character is '^]'.
^CConnection closed by foreign host

一部のシステムでは(内部の理由により)Telnetが使用できないため、ポートを確認するためのどのような代替策があります(Telnetなど)。

答え1

インターネット猫nc)はオプションです。

nc -zv kafka02 6667
  • -z=実際にデータを送信せずにリスニングデーモンのみをスキャンするようにncを設定します。
  • -v=詳細モードを有効にする

答え2

Bash Shellを使用している場合は、その機能を使用してポートが開いているか閉じているかを確認できます。

(timeout 1 bash -c '</dev/tcp/127.0.0.1/17500 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
PORT OPEN

(timeout 1 bash -c '</dev/tcp/127.0.0.1/7500 && echo PORT OPEN || echo PORT CLOSED') 2>/dev/null
PORT CLOSED

1秒後にサーバーが応答しない場合はタイムアウトに達し、それらの間のコマンドは中断され、何も'印刷されません。

答え3

「カール」は人生をより簡単にすることができます。ルートは必要ありません。カールはすべてのLinuxシステムで簡単に動作します。

  1. ポートが開いていない場合は、次の出力が表示されます。

    [niti@SourceServerName ~]$ curl -vv telnet://DestinationServerName:80
    
    * About to connect() to DestinationServerName port 80 (#0)
    *   Trying 192.168.0.100...
    
  2. ポートが開いている場合は、次の出力が表示されます。

    [niti@SourceServerName ~]$ curl -vv telnet://DestinationServerName:443
    
    * About to connect() to DestinationServerName port 443 (#0)
    *   Trying 192.168.0.100...
    * Connected to DestinationServerName (192.168.0.100) port 443 (#0)
    

Ctrl + Cやめる。

答え4

Perlがオプションの場合はそれを使用できます。IO::Socket特定のホストとポートへの接続をテストするためのモジュール。次のスクリプトはTCPをプロトコルにハードコードします(Telnetが使用するプロトコル)。

#!/usr/bin/perl -w

# tries to connect to the given IP and port (tcp)

use strict;
use IO::Socket;

my $desthost = shift or die "Usage: $0 host port\n";
my $destport = shift or die "Usage: $0 host port\n";

gethostbyname($desthost) || die "Invalid host given\n";

my $handle = IO::Socket::INET->new(
        PeerAddr => $desthost,
        PeerPort => $destport,
        Proto    => 'tcp')
    or die "can't connect to $desthost:$destport: $!\n";
close $handle;
print "Success!\n"

ポートを閉じるための出力例:

$ ./above-script kafka02 6667
can't connect to kafka02:6667: Connection refused

オープンポートの出力例:

$ ./above-script kafka02 4200
Success!

関連情報