Может ли сервер Telnet обнаружить клиент, используемый через протокол?
Хотя веб-браузеры, помимо прочего, отправляют User-Agent
string, есть ли у протокола Telnet аналогичный метод определения чего-либо о клиенте, подключающемся к нему? ОПЕРАЦИОННЫЕ СИСТЕМЫ? Конкретный клиент Telnet? И т.п.
1 ответ
Там нет User-Agent, но есть несколько вариантов протокола Telnet для отправки информации о клиенте:
TERMINAL TYPE
- показывает используемый тип терминала (например, xterm, urxvt, screen-256color...) Вы действительно не можете избавиться от этого, не ломая вещи. То же самое касаетсяNAWS
который сообщает размер окна (столбцы × строки).OLD-ENVIRON
а такжеNEW-ENVIRON
- может выявить некоторые специфические переменные среды; некоторые клиенты также показывают свое полное доменное имя в фиктивной переменной $DISPLAY. Отправка настроенного языкового стандарта системы ($LANG, $LC_*) или часового пояса ($TZ) также не редкость.XDISPLOC
- как и выше, некоторые клиенты отправляют ваше полное доменное имя в качестве местоположения дисплея X11.Если какие-либо функции аутентификации включены, они могут показать имя пользователя вашей ОС.
Наконец, весь набор распознанных опций варьируется в зависимости от реализации и может использоваться в качестве грубого отпечатка пальца в стиле Panopticlick.
frost $ echo $DISPLAY: 0 frost $ telnet telnet> set options Показывает обработку параметров. telnet> открыть m-net.arbornet.org Попытка 162.202.67.157... Подключена к m-net.arbornet.org. Escape-символ '^]'. ОТПРАВИТЬ, УДАЛИТЬ, ВПЕРЕД, ВПЕРЕД, ТИПА ТИПОВОГО ОТПРАВЛЕНИЯ, ОТПРАВИТЬ, УДАЕТСЯ, УДАЕТСЯ, УДАЕТСЯ, УДАЕТСЯ, УТВЕРДИТ, УДАЕТСЯ, ЛИНМОДА, ОТПРАВИТЬ, УДАЕТСЯ НОВЫЙ ЭКОЛОГИЧЕСКИЙ ОТПРАВИТЬ, СОСТОЯНИЕ ОТПРАВЛЯЕТ, УСТАЕТ ЛИ ВЫСТАВИТЬ В ПЕРЕДАЧЕ, УДАЛЕНО SENT IAC SB NAWS 0 95 (95) 0 46 (46) RCVD DO TSPEED RCVD DO LFLOW RCVD DO LINEMODE SENT IAC SB LINEMODE SLC SYNCH NOSUPPORT 0; IP VARIABLE|FLUSHIN|FLUSHOUT 3; АО переменная 15; AYT NOSUPPORT 0; ABORT VARIABLE|FLUSHIN|FLUSHOUT 28; EOF VARIABLE 4; SUSP VARIABLE|FLUSHIN 26; Переменная ЕС 127; EL VARIABLE 21; EW VARIABLE 23; RP ПЕРЕМЕННАЯ 18; СЛЕДУЮЩАЯ ПЕРЕМЕННАЯ 22; XON VARIABLE 17; XOFF VARIABLE 19; FORW1 NOSUPPORT 0; FORW2 NOSUPPORT 0; ОТПРАВЛЕНО, УДЕРЖИВАЕТСЯ ВПЕРЕД ВПЕРЕДИ RCVD, НОВОЕ ОКРУЖЕНИЕ RCVD СОСТОИТСЯ В RCVD, ДО XDISPLOC RCVD ЗАПИСЫВАЕТ, ОТПРАВЛЯЕТ, ОТПРАВЛЯЕТ RCVD, ОТСУТСТВУЕТ В СРЕДНЕМУ ОКРУЖЕНИИ ОТПРАВЛЯЕТСЯ НА СТАРУЮ ОКРУЖУЮЩУЮСЯ СКОРОСТУЮ СТОРОНУ СКОРОСТУЮ СТОРОНУЮ СКОРОСТЬ IAC-S0000 RACVD RCVD IAC SB X-DISPLAY-LOCATION ОТПРАВЛЕНО IAC SB X-DISPLAY-LOCATION IS "frost.nullroute.eu.org:0" RCVD IAC SB ОТПРАВЛЕНО НОВОЙ ОКРУЖАЮЩЕЙСЯ IAC SB NEW-ENVIRON IS VAR "DISPLAY" VALUE "мороз. nullroute.eu.org:0 "RCVD IAC SB ТЕРМИНАЛЬНЫЙ ТИП ОТПРАВЛЕННЫЙ IAC SB TERMINAL-TYPE IS" XTERM-256COLOR " RCVD ДЕЛАЕТ ЭХО ОТПРАВИТЬ, ЭХО RCVD ЭХО ОТПРАВЛЯЕТСЯ ЭХО RCVD IAC SB TOGGLE-FLOW-CONTROL OFF SB TOGGLE-FLOW-CONTROL RESTART-XON RCVD НЕ УДАЛИТЕ ЛИНОМОДУ НЕПРАВИЛЬНО RCVD IAC SB LINEMODE SLC IP ПЕРЕМЕННЫЙ |ACK|FLUSHIN|FLUSHOUT 3; AO VARIABLE|ACK 15; ABORT VARIABLE|ACK|FLUSHIN|FLUSHOUT 28; EOF VARIABLE|ACK 4; SUSP ПЕРЕМЕННЫЕ |ACK|FLUSHIN 26; Переменная EC |ACK 127; EL VARIABLE|ACK 21; EW VARIABLE|ACK 23; RP VARIABLE|ACK 18; LNEXT VARIABLE|ACK 22; XON VARIABLE|ACK 17; XOFF VARIABLE|ACK 19; Вход в FreeBSD/i386 (m-net.arbornet.org) (pts/5):