Как найти файл в telnet

trying to understand http and headers i was playing around with telnet to send requests. to not type everything again and again and again i thought i’d write a small textfile with all the commands i need.

my file is as simple as follows:

GET /somefile.php HTTP/1.1
Host: localhost

i then try to feed it to telnet with io-redirection:

$ telnet localhost 80 < telnet.txt

but all output i get is

Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

what am i doing wrong?

asked Apr 14, 2010 at 17:06

knittl's user avatar

knittlknittl

241k53 gold badges310 silver badges361 bronze badges

1

telnet is not the right tool for this job. Try :

 netcat localhost 80 < telnet.txt

btw, if you don’t have the tool installed on your machine, you
can get it here:

http://netcat.sourceforge.net/

user987339's user avatar

user987339

10.4k8 gold badges40 silver badges45 bronze badges

answered Apr 14, 2010 at 17:11

chetan's user avatar

chetanchetan

9334 silver badges11 bronze badges

7

The problem is that you feed all input to the telnet command instantly, without waiting for its output. Right after all of your input file has been fed, it will automatically cause telnet to «hang up», because the input stream reaches its end (EOF). Telnet might still be in its first millisecond or microsecond of actually waiting to establish a connection to the remote server when this happens.
What you want to do is, send a command to telnet, then wait for it to do its job aka wait for the server’s response, then send the next command, and so on, and only hang up at the very end when all the commands you sent were actually processed.
To do this, use an ‘expect’ script instead of insta-feeding a text file. ‘Expect’ is the usual tool to do this job.

answered May 16, 2014 at 16:26

user2316370's user avatar

user2316370user2316370

2631 gold badge4 silver badges11 bronze badges

The advice above is pretty good, except the port number is 23, not 80, for telnet. So if you came here looking for how to feed data into a telnet port (as I did, to configure an ethernet-controlled power switch) then use port 23.

answered Jul 1, 2020 at 16:19

crockford_q's user avatar

I don’t know if that’s possible with telnet. Have you looked at netcat?

answered Apr 14, 2010 at 17:08

amertune's user avatar

amertuneamertune

6505 silver badges9 bronze badges

I just uploaded a ~7 Kb firmware file to a BusyBox based Linux embedded system over the serial port.

No networking, no file transfer utilities; no Base64 utils or anything remotely useful on the device.

On the host, I trivially encoded a firmware into the following format; a kind of hex-dump consisting of shell literals combined with printf commands:

printf "xDExADxBExEFx...xF0"
printf "xCAxFEx33xE1x...xD3"

basically shell printf commands with x escape sequences that printf interprets. On the device I did:

device $ cat > firmware.sh

then used the minicom‘s ASCII file send (Ctrl-AS) to send this file to the host. I could just have used copy and paste, since the amount of data is small.

Then, marked executable and ran the printf script:

device $ chmod a+x firmware.sh
device $ ./firmware.sh > firmware.bin

Checked using BusyBox’s md5sum that the firmware.bin checksum on the device matches the original firmware image on the host.

P.S. The shell double quote syntax passes through x verbatim because it’s not a recognized escape sequence; hence we don’t have to double up the backslashes.

FTP — протокол передачи файлов по сети, является одним из старейших прикладных протоколов, появившихся задолго до HTTP, и даже до TCP/IP, в 1971 году. Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут подключиться анонимно или пройти аутентификацию.

У меня две виртуальные машины — ftp-client и ftp-server (ip-адрес 192.168.30.21) в одной сети. Открываем окно терминала на машине ftp-client:

$ telnet 192.168.30.21 21
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.
220 (vsFTPd 3.0.3)

Передаем имя пользователя и пароль:

$ telnet 192.168.30.21 21
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.
220 (vsFTPd 3.0.3)
USER evgeniy
331 Please specify the password.
PASS qwerty
230 Login successful.

Запросы клиента всегда состоят из одной строки формата КОМАНДА [аргументы], в то время как ответы сервера могут содержать несколько строк.

Первая и последняя строки начинается с трех цифр, представляющих собой код ответа, за которыми идет текстовое описание ответа, отделенное от кода либо пробелом, либо тире. Если в качестве разделителя используется пробел, значит строка является последней в ответе (и, возможно, единственной), иначе — это первая строка многострочного ответа.

Выполним еще одну команду — PWD:

$ telnet 192.168.30.21 21
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.
....................
PWD
257 "/home/evgeniy" is the current directory

Теперь попробуем выполнить команду LIST. Для этого надо перейти в пассивный режим — тогда сервер сообщит нам, на какой порт выполнять соединение, чтобы получить ответ. Дело в том, что результат команды LIST отправляется не через управляющее соединение, а через соединение для передачи данных:

$ telnet 192.168.30.21 21
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.
220 (vsFTPd 3.0.3)
....................
PASV
227 Entering Passive Mode (192,168,30,21,234,161).

В ответе сервера есть ip-адрес сервера и порт, на котором клиент должен установить соединение. Адрес — это первые четыре числа, порт — это последние два числа. Порт можно вычислить так: 234*256+161=60065. Так что открываем еще одно окно терминала и выполняем команду:

$ telnet 192.168.30.21 60065
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.

Теперь выполняем в первом окне терминала команду LIST и смотрим ответ во втором окне:

$ telnet 192.168.30.21 60065
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.
-rw-rw-r--    1 1000     1000       361278 Feb 22 15:25 image.jpg
drwxrwx---    1 0        999          4096 Feb 22 13:52 share
drwx------    2 1000     1000         4096 Feb 24 14:53 test
Connection closed by foreign host.

В списке есть файл image.jpg. Давайте удалим его с помощью команды DELE:

$ telnet 192.168.30.21 21
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.
220 (vsFTPd 3.0.3)
....................
DELE image.jpg
250 Delete operation successful.

Изменим текущую директорию:

$ telnet 192.168.30.21 21
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.
220 (vsFTPd 3.0.3)
....................
CWD share
250 Directory successfully changed.

В директории share есть файл readme.txt. Получить его с помощью telnet мы не сможем, для этого нужен ftp-клиент, но посмотреть содержимое — можем. Перейдем в пассивный режим с помощью команды PASV, во втором окне терминала подключимся к ftp-серверу на указанном порту и выполним команду RETR readme.txt (скачать файл) в первом окне:

$ telnet 192.168.30.21 21
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.
220 (vsFTPd 3.0.3)
....................
PASV
227 Entering Passive Mode (192,168,30,21,234,144).
RETR readme.txt
150 Opening BINARY mode data connection for readme.txt (36 bytes).
226 Transfer complete.
$ telnet 192.168.30.21 60045
Trying 192.168.30.21...
Connected to 192.168.30.21.
Escape character is '^]'.
This is content of file readme.txt.
Connection closed by foreign host.

На этом все — выходим из telnet:

QUIT
221 Goodbye.
Connection closed by foreign host.

Основные команды:

Команда Код Описание
DELE 250 Удалить файл
RMD 250 Удалить директорию
CWD 250 Перейти в директорию
MKD 257 Создать директорию
PWD 257 Узнать текущую директорию
QUIT 221 Закончить работу
TYPE 200 Установить тип передачи
PORT 200 Перейти в активный режим
PASV 227 Перейти в пассивный режим
LIST 150,226 Получить содержимое каталога
RETR 150,226 Скачать файл
STOR 150,226 Закачать файл
ABOR 426,226 Отменить передачу
RNFR 350 Выбрать файл для переименования
RNTO 250 Переименовать файл

Поиск:
CLI • FTP • Сервер • Протокол • telnet

Каталог оборудования

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Производители

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Функциональные группы

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

������������� ������� ��������� ��������� ���������� (man-��)

telnet (1)


  • telnet (1) ( Solaris man: ������� � ���������� ��������� ����������������� ������ )
  • telnet (1) ( FreeBSD man: ������� � ���������� ��������� ����������������� ������ )
  • >> telnet (1) ( ������� man: ������� � ���������� ��������� ����������������� ������ )
  • telnet (1) ( Linux man: ������� � ���������� ��������� ����������������� ������ )
  • ���� telnet ��������� � ���� �������� ����.
  • telnet(1)

    ��������

    telnet — ���������������� ��������� � ��������� �������,
    ������������ �������� TELNET

    ���������

    telnet [-8][-E][-L][-a][-d][-e �����������_������]
    [-l ������������] [-n ����_�����������]
    [-r][���� [����]]

    ��������

    ������� telnet ������������ ��� ����� � ������ ������ �� ���������
    TELNET.

       �����

    $HOME/.telnetrc
    ������������� ������������� ��������� ������� telnet
    /usr/lib/locale/������/LC_MESSAGES/uxtelnet
    ���� ��������� ��� �������� �����
    (��. LANGenviron(5).)

       ���������� �����

    ������� telnet ���������� ��� ������� ��������� ���������� �����:
    HOME, SHELL, USER, DISPLAYTERM.
    ������ ���������� �����
    ����� �������� �� ��������� ��������� � ������� ����� TELNET
    ENVIRON.

    �������������

    ���� ������� telnet ������� ��� ��������� �����, ��� ������ �
    ��������� �����, ��� ���������� ����������� telnet>. � ���� ������
    telnet ������������ � ��������� ������������� ���� �������. ����
    telnet ������� � �����������, ��� �������� ������� open
    (��. ��������
    ������ telnet ����) � ����� �����������.

       �����

    telnet ������������ ��������� �����:

    -8
    ������������� ������������� ��������
    ������. ��� �������� � ������� ����������
    ����� BINARY ��� ������� � ��������
    ������.
    -E
    ���������� ������������� ������ ������� ���
    ������������.
    -L
    ������������� ������������� ��������
    �������� ������. ��� �������� � �������
    ��������� ����� BINARY ��� ��������
    ������.
    -a
    �������������� ����������� � ���������
    �������. ���� ��������� ������� ������������
    ����� ENVIRON, ���������� USER �����
    �������� ��������� �������. ��� ����� �����
    ����� �������������� � �������� open.
    -d
    ����������� ������� �� ������ �������
    (���������� ������ ������������������
    ������������). ������������� ���������
    �������� ������������� ������� � TRUE.
    -e [ ���_������ ]
    ������������� ��������� ����������� ������
    TELNET � ���_������. ���� ���_������
    ������ ������ («»), �� �����������������
    ������������ ������� �� �����.
    -l ������������
    ��� ����������� � ��������� �������,
    �������������� ����� ENVIRON,
    ������������ ����� ������ ��������� �������
    � �������� �������� ���������� USER. ���
    ����� ����� ����� �������������� � ��������
    open.
    -n ����_�����������
    ��������� ����_����������� ��� ������
    �������������� ����������. (��. ��������
    ������� set tracefile ����.)
    -r
    ���������� ���������������� ���������,
    ����������� rlogin(1). � ���� ������
    ����������� �������� �������� ������ («~«),
    ���� ������ ������ �� ������ ������ -e.
    host
    ���������� ����������� ��� �����: ���������
    ��� Internet-����� ���������� �����.
    port
    ���������� ����� ����� (�.�., �����
    ����������). ���� ����� ����� �� ������ ���
    ������� ���������, ������������ �����������
    ����� ����� TELNET.

    ����� ��������� (��������) ����������, TELNET ��������� � «�����
    �����». TELNET ���������� ���������� ����� LINEMODE (����������
    �����). ���� ��� �� ������� �������, TELNET �������� � ���� �� ����
    ������� �����: ���� � «������������» ����� («character at a time»
    mode), ���� � «������ ����������» ����� («old line by line» mode), �
    ����������� �� ����, ����� �� ��� �������������� ��������� ��������.

    ����� ����� LINEMODE �����������, ��������� �������� �����
    ����������� �� ��������� �������, �� ��� ����������� ���������
    �������. ����� �������������� ����� ��� ����������� ��������
    ���������� ���������, ��������� ������� �������� ��� ����������.
    ��������� ������� ����� �������� ��������� ����� �����������
    ��������, ������������ �� ��������� �������, ���, ����� ��� �����
    ���� ��������� �� ��������� �������.

    � «������������» ������ �������� ����� ���������� ������ �����
    ��������������� ���������� �� ��������� ���� ��� ���������.

    � «������ ����������» ������ ����� ����� ������������ ��������, ��
    (������) ������ ����������� ������ ����� ���������� �� ���������
    ����. ��� ��������� � ���������� ������ ���������� �����������
    ����� ������������ «��������� ������ �����������» («local echo
    character», ������������� — «^E«), ��� ����� ����� ������������ ������
    ��� ����� �������, ����� ������ �� �����������.

    ���� ����� LINEMODE ����������� ��� �������������
    localchars �����
    �������� TRUE (��� �������� ��������������� �� ��������� ���
    «������� �����������» ������; ��. ����), ���������������� �������
    quit, intrflush ����� ��������������� �������� � ���������� ���
    ������������������ ��������� TELNET �� ��������� ������. ����
    �����-���� ����� ���� ����������� ����� LINEMODE, �� ��������
    ������������� ������� suspeof ���� ����� ���������� ���
    ������������������ ��������� TELNET; quit ����� ���������� ���
    TELNET ABORT, � �� ��� BREAK. ������� ����� (��. �������������
    autoflushautosynch ����),
    ��� ��������� ������� ������ ��������
    ��������� ���� ���������� ����� �� �������� (���� ��������� ���� ��
    ���������� ����� ������������������ TELNET) � ���������
    ���������� ���� � ��������� (� ������ quitintr).

    ����� ���������� � ��������� ������ � ��������� ����� telnet
    ����� �����, ����� «����������� ������» TELNET (���������� — «^[«).

    ��� ������ � ��������� ������ �������������� ������� ����������
    �� �������������� ��� ���������.

       �������

    �������������� ��������� ������� TELNET, ������ ����� ��������
    ������ ��������� ����� �������, ����������� ��� �� ������������
    ����������� (��� �� ������� � ��� ���������� ������
    mode, set,
    toggle,
    unset, slc, environ
    display).

    close
    ��������� ����� TELNET � ������������ � ��������� �����.
    display �������� …
    ���������� �������� ���� ��� ��������� ��������� �
    ��������������.
    mode ���
    � ����������� �� ��������� ������ TELNET, �������� ��� �����
    ����� ���� �� �������������� ���� ��������. � ����������
    ����� ����� ��������� ���������� �� ������� � ���������
    �����. ���� ��������� ���� �������� ������� � ���� �����, ��
    �������� � ����.

    character
    ��������� ����� TELNET LINEMODE; ���,
    ���� ��������� ������� �� �������� �����
    LINEMODE, ������� � «������������» �����.
    line
    �������� ����� TELNET LINEMODE; ���,
    ���� ��������� ������� �� �������� �����
    TELNET LINEMODE, ���������� ������� �
    ������ ����������» �����.
    isig
    -isig
    ���������� �������� (���������) �����
    TRAPSIG ����� TELNET LINEMODE. ���
    ����� ����������, ����� ����� LINEMODE
    ���� ��������.
    edit
    -edit
    ���������� �������� (���������) ����� EDIT
    ����� LINEMODE. ��� ����� ����������,
    ����� ����� LINEMODE ���� ��������.
    softtabs
    -softtabs
    ���������� �������� (���������) �����
    SOFT_TAB ����� LINEMODE. ��� �����
    ����������, ����� ����� LINEMODE ����
    ��������.
    lopenxso
    -lopenxso ���������� �������� (���������) �����
    LIT_ECHO ����� LINEMODE. ��� �����
    ����������, ����� ����� LINEMODE ����
    ��������.
    ?
    ������ ���������� ���������� �� �������
    mode.
    open [ -l ������������ ] [ -a ] ���� [[-]���� ]
    ��������� ���������� � ��������� ������. ������, ��� �������
    ��� ���������� �������� � ���������� ������� �����������.
    ���� ����� ����� �� ������, telnet ���������� ��������� �
    �������� TELNET �� ����������� �����. ���� ����� ���������
    ��� �� ����� (��. hosts(4)), ��� � � ���� ������ Internet �
    «�������� ������» (��. inet(3N)).

    ����� ������������ ����� -l ��� -a ��� ������� �����
    ������������, ������� ����� �������� ��������� ������� �����
    ����� ENVIRON.

    ��� ����������� � �������������� �����, telnet �� �����
    ������������� ������������ ������� ����� TELNET. ���� �����
    ������� ����� ������ ���� �����, ��������� ������������ �����
    ����� ����������� ��������� �������: ����� ���������
    ���������� ����� ������ ���� .telnetrc � ��������� ��������
    ������������. ������, ������������ � #, ��������������� ���
    �����������; ������ ������ ����� ���������������. ������,
    ������������ �� � ��������, ��������� ������� ������ �
    ������. ������ � ������ ���� ��� ������, � �������
    ������������ ������ ����. ������� ������ — � �����������
    ������, ������������ � ������� — ��������������� ��� �������
    telnet � ����� ���������, ��� ���� �� ��� ���� �������
    ������������� � ����� �� ��������� ����������� telnet.

    quit
    ��������� ����� �������� ����� TELNET � ��������� ������
    ��������� telnet. ��� ������ � ��������� ������, ���� �������
    ����� ����� (EOF) ����� �������� � �������� ������ �
    ���������� ������.
    send ���������
    �������� ���� (��� ���������) ������������������� �����������
    �������� �� ��������� ����. ����� ��������� ���������
    ��������� (� ����� ������� ����� ��������� ���������
    ����������):

    abort
    �������� ������������������ TELNET
    ABORT (���������� ��������).
    ao
    �������� ������������������ TELNET
    AO (Abort Output — ���������� ������),
    ������� ������ �������� � ����������
    ������ �������� ������ ���������
    ������� �� �������� ������������.
    ayt
    �������� ������������������ TELNET
    AYT (Are You There? — �� ����?);
    ��������� ������� ����� �������� �� ���
    ���������, � ����� � �� ��������.
    brk
    �������� ������������������ TELNET
    BRK (BReaK — ��������), ������� �����
    ����� �������� ��� ��������� �������.
    ec
    �������� ������������������ TELNET EC
    (Erase Character — ������� ������),
    ������� ������ �������� � ��������
    ���������� ���������� ������� ���������
    ��������.
    el
    �������� ������������������ TELNET EL
    (Erase Line — ������� ������), �������
    ������ �������� � �������� ��������
    ������ ��������� ��������.
    eof
    �������� ������������������ TELNET
    EOF (End Of File — ����� �����).
    eor
    �������� ������������������ TELNET
    EOR (End of Record — ����� ������).
    escape
    �������� ������� ����������� ������
    TELNET (���������� — «^[«).
    ga
    �������� ������������������ TELNET
    GA (Go Ahead — ���������), �������,
    ������ �����, �� ����������� ���
    ��������� �������.
    getstatus
    ���� ��������� ������� ������������
    ������� TELNET STATUS, getstatus
    ������ ������ �� ������ ��������
    �������� ������� �����.
    ip
    �������� ������������������ TELNET IP
    (Interrupt Process — �������� �������),
    ������� ������ �������� � �����������
    ��������� �������� ��������
    ������������ ��������.
    nop
    �������� ������������������ TELNET
    NOP (No OPeration — ��� ��������).
    susp
    �������� ������������������ TELNET
    SUSP (SUSPend process — �������������
    �������).
    synch
    �������� ������������������ TELNET
    SYNCH. ��� ������������������ ��������
    � ����, ��� ��������� �������
    ����������� ��� ��� ��������� (�� ���
    �� �����������) ����������. ���
    ������������������ ���������� ���
    ������� ������ (urgent data) TCP (�
    ����� �� ���������, ���� ���������
    ������� — 4.2 BSD; ����
    ������������������ �� ���������, ��
    �������� ����� ���� ����� ������ «|» �
    ������ ��������).
    ?
    ������ ���������� ���������� ��
    ������� send.
    set �������� ��������
    unset �������� ��������
    ������� set ������������� ����� �� �������������� ����������
    TELNET ��������� �������� ��� �������� TRUE. �����������
    �������� off ��������� �������, ��������� � ������ ����������;
    ��� ������������ ������������� ������� unset. ������� unset
    �������� (��� ��������� � FALSE) ����� ��������� �������.
    �������� ���������� ����� �������� � ������� �������
    display. ����������, ������� ����� ���������� ��� ��������, ��
    �� �����������, ����������� ����. ����� ����, ����� ��
    ���������� ��� ������� toggle, ����� ���� ���� �������� ���
    ��������� � ������� ������ setunset.

    echo
    ��� �������� (�������������, «^E«), �������, ���
    ����� � «����������» ������, �������� ���������
    ����������� ��������� �������� (��� ����������
    ���������) ��� ��������� ����������� (��������,
    ��� ����� ������).
    eof
    ���� telnet �������� � ������ LINEMODE ��� �
    «������ ����������» ������, ���� ����� ������� �
    �������� ������� ������� ������ �������� � ���
    ������� ��������� �������. ��������������
    ��������� ������� EOF �������� ������ �����
    ����� (eof) ���������.
    erase
    ���� telnet ��������� � ������ localchars (��.
    toggle localchars ����) � �������� � «������������»
    ������, �� ��� ����� ����� ������� ���������
    ������� ���������� ������������������ TELNET
    EC (��. send ec ����). �������������� ���������
    ������� erase �������� ������ �������� (erase)
    ���������.
    escape
    ��� ����������� ������ TELNET (�������������,
    «^[«), ���������� ������� � ��������� �����
    TELNET, ����� ������������ ��������� �
    ��������� �������.
    flushoutput
    ���� telnet ��������� � ������ localchars (��.
    toggle localchars ����) � ������ ������
    flushoutput,
    �� ��������� ���� ���������� ������������������
    TELNET AO (��. send ao ����). � ��������
    ���������� �������� ��� ������� ������ (flush
    character) ������� ������ ������ ���������.
    interrupt
    ���� telnet ��������� � ������ localchars (��.
    toggle localchars ����) � ������
    ������ ����������
    (interrupt character), �� ��������� ���� ����������
    ������������������ TELNET IP (��. send ip ����).
    � �������� ���������� �������� ��� �������
    ���������� ������� ������ intr ���������.
    kill
    ���� telnet ��������� � ������ localchars (��.
    toggle localchars ����) � �������� � «������������»
    ������, �� ��� ����� ����� ������� ���������
    ������� ���������� ������������������ TELNET
    EL
    . � �������� ���������� �������� ������� kill
    ������� ������ kill ���������.
    lnext
    ���� telnet �������� � ������ LINEMODE ��� �
    «������ ����������» ������, ���� ������
    ��������������� � �������� ������� lnext ���
    ���������. � �������� ���������� �������� ���
    ������� lnext ������� ������ lnext ���������.
    quit
    ���� telnet ��������� � ������ localchars (��.
    toggle localchars ����) � ������ ������ quit, ��
    ��������� ���� ���������� ������������������
    TELNET BRK (��. send brk ����). � ��������
    ���������� �������� ��� ������� quit �������
    ������ quit ���������.
    reprint
    ���� telnet �������� � ������ LINEMODE ��� �
    «������ ����������» ������, ���� ������
    ��������������� � �������� ������� reprint ���
    ���������. � �������� ���������� �������� ���
    ������� reprint ������� ������ reprint ���������.
    start
    ���� �������� ����� TELNET TOGGLE-FLOW-
    CONTROL, ���� ������ ��������������� � ��������
    ������� start ��� ���������. � �������� ����������
    �������� ��� ������� start ������� ������ start
    ���������.
    stop
    ���� �������� ����� TELNET TOGGLE-FLOW-
    CONTROL, ���� ������ ��������������� � ��������
    ������� stop ��� ���������. � �������� ����������
    �������� ��� ������� stop ������� ������ stop
    ���������.
    susp
    ���� telnet ��������� � ������ localchars ��� ����
    ������� ����� LINEMODE � ������ ������
    suspend, �� ��������� ���� ����������
    ������������������ TELNET SUSP (��. send susp
    ����). � �������� ���������� �������� ��� �������
    suspend ������� ������ suspend ���������.
    tracefile
    � ���� ���� ����� ������������ ����������,
    ��������������� �������� netdata.
    worderase
    ���� telnet �������� � ������ LINEMODE ��� �
    «������ ����������» ������, ���� ������
    ��������������� � �������� ������� �������� �����
    (worderase character) ��� ���������. � ��������
    ���������� �������� ������� �������� �����
    ������� ������ �������� ����� ���������.
    ?
    ������ ������ ���������� ������ setunset.
    slc ���������
    ������� slc (Set Local Characters — ���������� ���������
    �������) ������������ ��� ��������� (��� ���������) ���������
    ����������� ��������, ����� �������� ����� TELNET
    LINEMODE. ������������ ���������� �������, �������������
    � ��������� ������������������ TELNET (��������, ip ��� quit)
    ��� ������� �������������� ����� (��������, erasekill). ��
    ���������, �������������� «��������� ����������� �������».

    export
    ������� �� ��������� ����������� �������� ���
    «����������� ��������». ���������� ������������
    ���������� �������� �������� ��� ����������
    ��������� �� ������ ������� telnet.
    import
    ������� �� ��������� ����������� �������� ���
    «����������� ��������». ���������� ������������
    ���������� �������� �������� �����������
    �������� ��������� ������� �� ������ ���������
    ���������� TELNET.
    check
    ��������� ������� ��������� ��� «�����������
    ��������». �� ��������� ������� �������������
    ������� ���� ������� ��������� �����������
    ��������; ���� ������� �������� �� ��������� �
    ��������� ��������, ��������� ������� ���������
    �� ����� ��������� ��������.
    ? ������ ���������� ���������� �� ������� slc.
    environ ��������� [ … ]
    ������� environ ������������ ��� ������ � �����������,
    ������� ����� ���� ������� � ������� ����� TELNET
    ENVIRON. ��������� ����� ���������� ������� �� �����
    ������������, ������ �������������� ������ ���������� USER
    DISPLAY.

    ��������� ��������� ��������� ������� environ:

    define ���������� ��������
    ���������� ���������� � ��������� ���������. ���
    ������������ � ������� ���� ������� ����������
    ������������� ��������������. �������� ����� ����� �
    ��������� ��� ������� �������, ��� ��������� �������� �
    ���� ������� � ������� ���������.
    undefine ����������
    ������� ��������� ���������� �� ������ ����������
    �����.
    export ����������
    �������� ��������� ���������� ��� ����������
    ��������������� �� ��������� �������.
    unexport ����������
    �������� ��������� ���������� ��� �� ����������
    ���������������, ���� ������ ��� �� ����� ���� ���������
    ��������� ��������.
    list
    ������ ������� ����� ���������� �����. ��, ���
    �������� *, ����� ���������� �������������; ���
    ��������� ���������� ����� ������� ������ � ����� ��
    ������.
    ?
    ������ ���������� ���������� �� ������� environ.
    toggle ��������� [ … ]
    ����������� ��������� ����� (�� �������� TRUE �� FALSE �
    ��������), ����������� �������� TELNET �� ������������
    �������. ��� ����� ����� ���� ���������� � TRUE ��� FALSE �
    ������� ������������� ���� ������ setunset. � �������
    ����� ��������� ��������� ����������. ��������� ���� ������
    ����� ������ � ������� ������� display.
    ��������� ���������
    ���������:

    autoflush
    ���� ����� autoflushlocalchars ����� ��������
    TRUE, �� ��� ��������� �������� ao ��� quit
    (����� �� �������������� � ������������������
    TELNET, ��� ������� ����), telnet ������������
    ���������� �� ��������� ������������ �����
    ������ �� ��� ���, ���� ��������� ������� ��
    ���������� (����� ����� TELNET TIMING MARK),
    ��� ��� ���������� ��� ������������������
    TELNET. ��������� �������� ����� ������������� —
    TRUE, ���� ������������ ��������� �� ��������
    ������� stty noflsh, � FALSE � ��������� ������
    (��. stty(1)).
    autosynch
    ���� ����� autosynchlocalchars ����� ��������
    TRUE, �� ��� ����� ������ �� �������� intr ���
    quit (��. �������� �������� intr
    quit � �������
    ������� set ����) ����� ���������������
    ������������������ TELNET ����� �������
    ������������������ TELNET SYNCH. � ����������
    ��������� ������� ������ ����� ��������� ����
    ���������� ����, ���� ��� ������������������
    TELNET �� ����� ��������� � ����������.
    ��������� �������� ����� ������������� — FALSE.
    binary
    �������� ��� ��������� ����� TELNET BINARY
    ��� ��� �������, ��� � ��� �������� ������.
    inbinary
    �������� ��� ��������� ����� TELNET BINARY
    ��� ������� ������.
    outbinary
    �������� ��� ��������� ����� TELNET BINARY
    ��� �������� ������.
    crlf
    ���� �������� ����� ������������� — TRUE, ��
    �������� ������� ����� ���������� ��� <CR><LF>.
    ���� �� �� ����� �������� FALSE, �� ��������
    ������� ����� ���������� ��� <CR><NUL>.
    ��������� �������� ����� ������������� — FALSE.
    crmod
    ����������� ����� �������� �������. ����� ����
    ����� �������, ����������� �������� ��������
    �������, ���������� � ���������� �����, �����
    ������������� � ������� ������� (Carriage Return),
    �� ������� ���� ������� ������ (Line Feed). ����
    ����� �� ������ �� �������, ��������
    �������������, — ������ �� ���������� �
    ���������� �����. ���� ����� �� �������� �����,
    ���� ������ ��������� ���� �� �������� ������
    ������ �������� ������� � ������� — ��������
    �����. ��������� �������� ����� ������������� —
    FALSE.
    debug
    ����������� ����� ������� �� ������ �������
    (���������� ������ ������������������
    ������������). ��������� �������� �����
    ������������� — FALSE.
    localchars
    ���� ���� ������������� ����� �������� TRUE,
    ������� flush, interrupt,
    quit, erasekill (��.
    �������� set ����) ������������ �������� �
    ������������� � (����� ���������)
    ��������������� ����������� ������������������
    TELNET (ao, ip, brk, ecel, ��������������; ��.
    �������� send ����). ��������� �������� �����
    ������������� — TRUE � «������ ����������»
    ������ � FALSE � «������������» ������.

     

    ����� �������� ����� LINEMODE, ��������
    localchars ������������ � �������������� ������
    ��������. ���� ����� LINEMODE ����������, quit
    ����� ���������� ��� abort; eofsuspend �����
    ���������� ��� eofsusp; (��. �������� send ����).

    netdata
    ����������� ����� ���� ������� ������ (�
    ����������������� �������). ��������� ��������
    ����� ������������� — FALSE.
    options
    ����������� ����� ������������ ����������
    ��������� ��������� telnet, ��������� � �������
    TELNET. ��������� �������� ����� ������������� —
    FALSE.
    prettydump
    ���� ������� ������������� netdata � �������
    prettydump, ��������� ������ ������� netdata
    ����� ������������ � ����� ������� ���
    ������������ ������. ����� ��������� �
    ����������� ����� ��������� �������, � ������
    ����� ����������� ������������������ TELNET
    ����� �������� ���������� (‘*‘), ����� ����� ����
    �� �����.
    ? ���������� ���������� ������� toggle.
    Ctrl-z
    ���������������� telnet. ��� ������� ����� ��������, ������
    ���� ������������ ���������� ��������� ������������� csh(1)
    ��� ksh(1).
    ! [ ������� ]
    ��������� ��������� ������� � ����������� ���������
    ��������������
    (subshell) �� ��������� �������. ���� ������� ��
    �������, ����� ������ ������������� �����������
    �������������.
    status
    ���������� ������� ������ telnet, � ��� ����� ������, � �������
    ��������� ���������, � ������� �����.
    ? [ ������� ]
    ���������� �������. ���� ������� �� �������, telnet �������
    ������� �������� �������� ����� ������. ���� ������� �������,
    telnet ������ ���������� ���������� �� ���� �������.

       ��������������

    �� ��������� ��������� �������� ���������� ������� ���������
    ������� echo ��� ������ � «������ ����������» ������.

    ��� ������ � «������ ����������» ������ ��� � ������ LINEMODE,
    ������ ����� ����� (eof) ��������� ������������ (� ����������
    ��������� �������) ������ ����� �� �������� ������ �������� � ������.

    ������

    hosts(4),
    inet(7),
    rlogin(1),
    sh(1),
    stty(1)

    Copyright 1994 Novell, Inc.

    Copyright 1999 �. �������,
    OpenXS Initiative, ������� �� ������� ����

    Telnet — это сетевая утилита, которая позволяет соединиться с удаленным портом любого компьютера и установить интерактивный канал связи, например, для передачи команд или получения информации. Можно сказать, что это универсальный браузер в терминале, который умеет работать со множеством сетевых протоколов.

    Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.

    Как я уже сказал, эта утилита предназначена для создания интерактивного соединения между удаленными компьютерами. Она работает по протоколу TELNET, но этот протокол поддерживается многими сервисами, поэтому ее можно использовать для управления ими. Протокол работает на основе TCP, и позволяет передавать обычные строковые команды на другое устройство. Он может использоваться не только для ручного управления но и для взаимодействия между процессами.

    Для работы с этим протоколом мы будем использовать утилиту telnet, ею очень просто пользоваться. Давайте рассмотрим синтаксис telnet:

    $ telnet опции хост порт

    Хост — это домен удаленного компьютера, к которому следует подключиться, а порт — порт на этом компьютере. А теперь давайте рассмотрим основные опции:

    • -4 — принудительно использовать адреса ipv4;
    • -6 — принудительно использовать адреса ipv6;
    • -8 — использовать 8-битную кодировку, например, Unicode;
    • -E — отключить поддержку Escape последовательностей;
    • -a — автоматический вход, берет имя пользователя из переменной окружения USER;
    • -b — использовать локальный сокет;
    • -d — включить режим отладки;
    • — режим эмуляции rlogin;
    • -e — задать символ начала Escape последовательности;
    • -l — пользователь для авторизации на удаленной машине.

    Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:

    • Построчный — это предпочтительный режим, здесь строка текста редактируется на локальном компьютере и отправляется только тогда, когда она будет полностью готова. На такая возможность есть не всегда и не у всех сервисов;
    • Посимвольный — все набираемые вами символы отправляются на удаленный сервер. Тут будет сложно что-либо исправить, если вы допустили ошибку, потому что Backspace тоже будет отправляться в виде символа и стрелки движения тоже.

    Использование telnet заключается в передаче специальных команд. У каждого сервиса свои команды, но у протокола есть свои команды telnet, которые можно применять в консоли telnet.

    • CLOSE — закрыть соединение с сервером;
    • ENCRYPT — шифровать все передаваемые данные;
    • LOGOUT — выйти и закрыть соединение;
    • MODE — переключить режим, со строчного на символьный или с символьного на строчный;
    • STATUS — посмотреть статус соединения;
    • SEND — отправить один из специальных символов telnet;
    • SET — установить значение параметра;
    • OPEN — установить подключение через telnet с удаленным узлом;
    • DISPLAY — отобразить используемые спецсимволы;
    • SLC — изменить используемые спецсимволы.

    Мы не будем рассматривать все команды, поскольку они вам вряд ли понадобятся, а если и понадобятся, то вы легко сможете их найти в официальной документации.

    Как пользоваться telnet?

    Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:

    sudo apt install telnet

    Теперь перейдем к применению утилиты. Изначально она использовалась для удаленного управления компьютером, но поскольку потом был разработан более безопасный протокол SSH, использовать ее перестали.

    1. Доступность сервера

    Утилита все еще может быть полезной при поверке доступности узла, для этого просто передайте ей ip адрес или имя хоста:

    telnet 192.168.1.243

    Для этого не обязательно применять telnet, есть ping.

    2. Проверка порта

    C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:

    telnet localhost 123
    $ telnet localhost 22

    В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.

    3. Отладка

    Чтобы включить режим отладки и выводить более подробную информацию во время работы используйте опцию -d во время подключения:

    sudo telnet -d localhost 22

    4. Консоль telnet

    Использование консоли telnet тоже важный момент в разборе как пользоваться telnet. В основном режиме вы можете выполнять команды, на удаленном сервере, если же вы хотите адресовать команду именно telnet, например, для настройки ее работы, необходимо использовать спецсимвол для открытия консоли, обычно утилита сразу говорит вам что это за символ, например, по умолчанию используется «^[«:

    Для его активации вам нужно нажать сочетание клавиш Ctrl+[, затем вы уведите приглашение ввода telnet.

    Чтобы посмотреть все доступные команды, вы можете набрать ?. Например, вы можете посмотреть статус подключения:

    telnet> status

    Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.

    5. Посмотреть сайт telnet

    Один из распространенных способов использования telnet — это тестирование сайта из консоли. Да, красивую веб-страницу вы не получите, но можете вручную собрать запросы и видеть все переданные сервером данные.

    telnet opennet.ru 80

    Затем наберите команду веб-серверу:

    GET /

    Веб сервер вернет полностью страницу, а также заголовки, которые необходимы для ее отображения браузером.

    6. Удаленное управление telnet

    Настоятельно не рекомендуется использовать небезопасный telnet для удаленного управления, потому что все команды и пароли могут быть прослушаны сторонним пользователем. Но иногда, например, для роутеров telnet все же используется для удаленного управления. Все работает точно так же, как и для других подключений, только нужно использовать порт 23, а на удаленном компьютере должен быть установлен telnet-server:

    telnet localhost 23

    Тут порт можно даже не указывать, потому что по умолчанию будет использоваться именно 23. Далее, вам нужно ввести логин и пароль, а затем вы сможете выполнять команды в удаленной системе.

    Выводы

    В этой статье мы рассмотрели примеры использования telnet, а также что представляет из себя эта утилита, хотя она уже не используется по своему основному назначению, но до сих пор может быть полезной многим пользователям и системным администраторам. Если у вас остались вопросы, спрашивайте в комментариях!

    Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

    Creative Commons License

    Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

    Понравилась статья? Поделить с друзьями:
  • Как найти где лежат балки
  • Как найти перемещение точки физика
  • Как найти область определения логарифмической функции примеры
  • Как найти мистера фриза в музее
  • Как найти потенциал точек электрической цепи