Тражите телнет на РХЕЛ 8? Покушајте нц

Телнет је мрежни протокол који се користи за даљински приступ рачунару и обезбеђује двосмерну комуникацију засновану на тексту. Дакле, потребни су вам телнет сервер и клијент да бисте међусобно разговарали.

Телнет је један од популарних Линук/Виндовс услужних програма који је дуго служио својој сврси.

Главни проблем са телнетом на савременим системима је тај што није безбедан. Сва комуникација у телнету се одвија у обичном тексту, а сав мрежни саобраћај је нешифрован. У суштини свако са одговарајућим приступом и алатима може њушкати мрежни саобраћај да би прочитао овај саобраћај. Као такви, већина модерних Линук оперативних система не долази са унапред инсталираним телнет-ом, а други препоручују да га не користите.

Са појавом ССХ или Сецуре Схелл протокола, који је више од шифроване замене за телнет, употреба телнета за његову намену је одавно застарела. Али постоји алтернативна употреба телнета коју многи системски администратори и технолошки ентузијасти још увек користе, а то је провера повезаности удаљених ТЦП портова.

Можете једноставно проверити да ли удаљени ТЦП порт слуша и правилно реагује помоћу телнет команде. Исечак испод показује како можемо да проверимо да ли је гоогле.цом покренут и ради тако што ћемо проверити ХТТП/ХТТПС везу.

$ telnet google.com 80
Trying 142.250.183.206...
Connected to google.com.
Escape character is '^]'.
^]
telnet> quit
Connection closed.

$
$ telnet google.com 443
Trying 142.250.183.206...
Connected to google.com.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
$

ТЦП порт који није отворен или доступан ће се понашати на следећи начин када се провери помоћу телнета:

$ telnet google.com 22
Trying 142.250.193.174...
^C
$

Ово олакшава решавање једноставних проблема са мрежним повезивањем у комбинацији са командама пинг, трацероуте или трацепатх, нетстат итд.

Ако користите РХЕЛ 8 (или чак старије верзије РХЕЛ/ЦентОС), имате опцију да користите нц (или Нцат или Нетворк Цоннецтор), који подржава многе опције везане за дијагностику мреже. Разговараћемо о томе како да инсталирате и користите овај алат на РХЕЛ8 и сличним системима.

Шта је нц?

нц (или Нцат) је популаран алат командне линије опште намене за читање, писање, преусмеравање и шифровање података преко мреже. Првобитно написан за нмап пројекат, сада је доступно више Нетцат имплементација. Ради са ТЦП и УДП-ом преко ИПв4 и ИПв6 и пружа неограничене потенцијалне случајеве употребе.

  9 најбољих бесплатних игара за Нинтендо Свитцх

Испод су неке од главних карактеристика нц услужног програма:

  • Способност повезивања мачака заједно
  • Преусмеравање ТЦП, УДП и СЦТП портова на друге локације
  • Шифрујте комуникацију уз ССЛ подршку
  • Подршка за прокси преко СОЦК4/5 или ХТТП проксија (укључујући аутентификацију)
  • Подржава више платформи, укључујући Виндовс, Линук и мацОС

Инсталирање нц

нц је доступан као део подразумеваних спремишта у РХЕЛ системима. Да бисте га инсталирали на РХЕЛ 7 систем, једноставно издајте доњу команду на терминалу:

$ sudo yum install -y nc

За РХЕЛ 8 систем, можете користити днф као:

$ sudo dnf install -y nc

Проверите ТЦП повезивање

Иако нц нуди мноштво функција које подржавају бројне случајеве употребе у различитим апликацијама, једна од уобичајених је током решавања проблема са мрежом уместо телнета.

нц може показати да ли можете доћи до ТЦП порта. Ево синтаксе:

$ nc -vz <IP/DNS> <Port>

На пример, ако желим да проверим да ли могу да дођем до вдзвдз преко хттп или хттпс. То могу да проверим користећи нц као што је приказано испод (порт 80 је за хттп, док је 443 за хттпс):

$ nc -vz techblog.co.rs.com 80
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to 104.26.11.88:80.
Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.
$
$ nc -vz techblog.co.rs.com 443
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to 104.26.10.88:443.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
$

Слично томе, недоступни или блокирани порт ће приказати излаз попут (више адреса се проверава како вдзвдз ДНС указује на више ИП адреса):

$ nc -vz techblog.co.rs.com 22
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connection to 172.67.70.213 failed: Connection timed out.
Ncat: Trying next address...
Ncat: Connection to 104.26.11.88 failed: Connection timed out.
Ncat: Trying next address...
Ncat: Connection to 104.26.10.88 failed: Connection timed out.
Ncat: Trying next address...
Ncat: Connection to 2606:4700:20::681a:a58 failed: Network is unreachable.
Ncat: Trying next address...
Ncat: Connection to 2606:4700:20::681a:b58 failed: Network is unreachable.
Ncat: Trying next address...
Ncat: Network is unreachable.
$
$ dig techblog.co.rs.com +short
104.26.10.88
172.67.70.213
104.26.11.88
$

Проверите УДП повезивање

телнет може да провери комуникацију само са удаљеним ТЦП портом, док нц вам омогућава да проверите ТЦП и УДП повезаност.

нц може једноставно послати УДП пакете уместо подразумеваних ТЦП користећи:

$ nc -vzu <IP/DNS> <Port>

Али УДП је протокол без сесије, за разлику од ТЦП-а, па као такав, не можете потврдити енд-то-енд УДП конекцију у свим могућим сценаријима само слањем УДП пакета на једном крају, осим ако процес слушања на удаљеном крају не пошаље неки одговор, нц неће моћи да процени да ли је његов послати пакет стигао до одредишта или не. Али нц нуди алтернативу за одређивање енд-то-енд УДП повезивања покретањем УДП слушаоца, под претпоставком да имате исправан приступ ЦЛИ на удаљеном серверу.

  Како да примените Присма филтере на фотографије са радне површине

Дакле, под претпоставком да морате да проверите УДП повезаност између два Линук хоста за ДНС користећи нц, једноставан начин да то урадите би био да покренете слушање нц сервера на потребном порту:

$ sudo nc -ul <Port>

За ДНС, морамо да проверимо порт 53 који би направио горњу команду као:

$ nc -ul 53

На страни клијента, требало би да покренете други нц процес који шаље УДП пакете серверу:

$ nc -u <IP/DNS> <Port>

Што би нашу команду учинило:

$ nc -u <IP/DNS> 53

С обзиром да ништа не блокира УДП саобраћај за порт 53 између ове две машине, шта год да унесете и унесете на једној машини требало би да буде видљиво на другим хостовима као двосмерно ћаскање. Ако не, неки заштитни зид блокира везу између ова два система.

Модел сервера и клијента који користи нц ради беспрекорно за ове врсте једноставних провера повезивања између хостова. Као и горња УДП провера, нц такође може да слуша ТЦП пакете на датом порту:

$ sudo nc -l <Port>

На страни клијента, нормално можете слати ТЦП пакете да бисте проверили повезаност:

$ nc <IP/DNS> <Port>

Горенаведени сервер/клијент нц метод није потребан у случају ТЦП веза (за разлику од УДП-а) јер је то протокол оријентисан на везу и ради са потврдама. Сваки процес слушања који ради на ТЦП-у ће директно одговорити на нц ТЦП пакете.

Резиме

Овај чланак резимира како нц услужни програм стоји као директна замена за телнет у модерним Линук системима што се тиче провере повезаности портова и пружа много више моћи крајњем кориснику у дијагностици и решавању проблема са мрежом.

нц помоћи се може приступити помоћу команде нц -х:

$ nc -h
Ncat 7.70 ( https://nmap.org/ncat )
Usage: ncat [options] [hostname] [port]

Options taking a time assume seconds. Append 'ms' for milliseconds,
's' for seconds, 'm' for minutes, or 'h' for hours (e.g. 500ms).
  -4                         Use IPv4 only
  -6                         Use IPv6 only
  -U, --unixsock             Use Unix domain sockets only
  -C, --crlf                 Use CRLF for EOL sequence
  -c, --sh-exec <command>    Executes the given command via /bin/sh
  -e, --exec <command>       Executes the given command
      --lua-exec <filename>  Executes the given Lua script
  -g hop1[,hop2,...]         Loose source routing hop points (8 max)
  -G <n>                     Loose source routing hop pointer (4, 8, 12, ...)
  -m, --max-conns <n>        Maximum <n> simultaneous connections
  -h, --help                 Display this help screen
  -d, --delay <time>         Wait between read/writes
  -o, --output <filename>    Dump session data to a file
  -x, --hex-dump <filename>  Dump session data as hex to a file
  -i, --idle-timeout <time>  Idle read/write timeout
  -p, --source-port port     Specify source port to use
  -s, --source addr          Specify source address to use (doesn't affect -l)
  -l, --listen               Bind and listen for incoming connections
  -k, --keep-open            Accept multiple connections in listen mode
  -n, --nodns                Do not resolve hostnames via DNS
  -t, --telnet               Answer Telnet negotiations
  -u, --udp                  Use UDP instead of default TCP
      --sctp                 Use SCTP instead of default TCP
  -v, --verbose              Set verbosity level (can be used several times)
  -w, --wait <time>          Connect timeout
  -z                         Zero-I/O mode, report connection status only
      --append-output        Append rather than clobber specified output files
      --send-only            Only send data, ignoring received; quit on EOF
      --recv-only            Only receive data, never send anything
      --allow                Allow only given hosts to connect to Ncat
      --allowfile            A file of hosts allowed to connect to Ncat
      --deny                 Deny given hosts from connecting to Ncat
      --denyfile             A file of hosts denied from connecting to Ncat
      --broker               Enable Ncat's connection brokering mode
      --chat                 Start a simple Ncat chat server
      --proxy <addr[:port]>  Specify address of host to proxy through
      --proxy-type <type>    Specify proxy type ("http" or "socks4" or "socks5")
      --proxy-auth <auth>    Authenticate with HTTP or SOCKS proxy server
      --ssl                  Connect or listen with SSL
      --ssl-cert             Specify SSL certificate file (PEM) for listening
      --ssl-key              Specify SSL private key (PEM) for listening
      --ssl-verify           Verify trust and domain name of certificates
      --ssl-trustfile        PEM file containing trusted SSL certificates
      --ssl-ciphers          Cipherlist containing SSL ciphers to use
      --ssl-alpn             ALPN protocol list to use.
      --version              Display Ncat's version information and exit

See the ncat(1) manpage for full options, descriptions and usage examples
$

За детаљније информације о команди нц, погледајте њену страницу приручника.

$ man nc