Чи може сервер Telnet виявити клієнта, який використовується через протокол?


9

Хоча веб-браузери, крім усього іншого, надсилають User-Agentрядок, чи протокол Telnet має подібний метод визначення чого-небудь про підключення до нього клієнта? ОС? Конкретний клієнт Telnet? І т.д.

Відповіді:


14

Користувача-агента немає, але існує кілька варіантів протоколу Telnet для надсилання інформації про клієнта:

  • TERMINAL TYPE- показує використаний тип терміналу (наприклад, xterm, urxvt, screen-256color ...) Ви не можете реально позбутися цього, не порушуючи речі. Те саме стосується NAWSзвітів про розмір вікна (стовпці × рядки).

  • OLD-ENVIRONі NEW-ENVIRON- може виявити деякі специфічні змінні середовища; деякі клієнти також розкривають свій FQDN у підробленій змінній $ DISPLAY. Надсилання налаштованої локальної системи ($ LANG, $ LC_ *) або часового поясу ($ TZ) також не є рідкістю.

  • XDISPLOC - подібно до вище, деякі клієнти надсилають ваш FQDN як місце відображення X11.

  • Якщо будь-яка з функцій аутентифікації включена, вони можуть розкрити ваше ім’я користувача ОС.

  • Нарешті, весь набір розпізнаних варіантів змінюється між реалізаціями і може використовуватися як грубий відбиток у стилі Panopticlick.

мороз $ ехо $ ДИСПЛЕЙ
: 0

мороз $ telnet
telnet> встановити параметри
Показує опцію обробки.
telnet> відкрити m-net.arbornet.org
Пробуємо 162.202.67.157 ...
Підключено до m-net.arbornet.org.
Символ втечі - '^]'.
ВИДАЛИ ПІДГОТОВКИ ПЕРЕГЛЯДУЙТЕ НАПЕРЕД
СЕНТ БУДЕ ТЕРМІНАЛЬНИЙ ТИП
СЕНТ БУДЕ НАШ
СЕНТ БУДЕ ВДАЛЕНО
СЕНТ ВІДПОВІДАЄ
SENT WILL LINEMODE
SENT WILL NEW-ENVIRON
SENT DO STATUS
SENT WILL XDISPLOC
RCVD ЗРОБИТИ АВТЕНТИКАЦІЮ
ВИПАДКОВА АВТОМЕНТАЦІЯ
RCVD БУДЕ НАДАДЖЕНИЙ НАПЕРЕД
RCVD ДО ТЕРМІНАЛЬНОГО ТИПУ
RCVD DO NAWS
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 ВАРІАБЛЮВАННЯ | FLUSHIN | FLUSHOUT 3; АО ЗМІННА 15; AYT NOSUPPORT 0; ABORT VARIABLE | FLUSHIN | FLUSHOUT 28; EOF VARIABLE 4; SUSP VARIABLE | ФЛУШІН 26; ВІДМІНОВА ЄК 127; EL VARIABLE 21; EW VARIABLE 23; RP ЗМІНЕНО 18; ЛІНЕКСТИЧНА ЗМІННА 22; XON VARIABLE 17; ХОФФ ЗМІН 19; FORW1 NOSUPPORT 0; FORW2 NOSUPPORT 0;
ВИДАЛИ ПІДГОТОВКИ ПЕРЕГЛЯДУЙТЕ НАПЕРЕД
RCVD ДО НОВОГО ЕКОЛОГІЇ
RCVD БЕЗ СТАТУС
RCVD DO XDISPLOC
RCVD БУДЕ ВКЛЮЧЕНО
SENT DONT ENCRYPT
RCVD ДО СТАРОГО ЕКОЛОГІЧНОГО 
СЕНТУРА НЕ СТАРИЙ-ЕКОЛОГ
RCVD IAC SB ТЕРМІНАЛЬНА ШВИДКА
ТЕРМІНАЛЬНА ШВИДКА МАК IENT SB 38400,38400
RCVD IAC SB X-DISPLAY-LOCATION SEND
SENT IAC SB X-DISPLAY-LOCATION IS "frost.nullroute.eu.org поряд"
RCVD IAC SB NEW-ENVIRON SEND 
SENT IAC SB NEW-ENVIRON VAR "DISPLAY" VALUE "frost.nullroute.eu.org:1"
RCVD IAC SB ТЕРМІНАЛЬНО-ТИПОВИЙ ДОСЛІД
ТЕРМІНАЛ-ТИП SENT IAC SB "XTERM-256COLOR"
RCVD DO ECHO
SENT WONT ECHO
RCVD WILL ECHO
SENT DO ECHO
RCVD IAC SB TOGGLE-FLOW-CONTROL OFF
RCVD IAC SB РЕСТАРТ-КОНТРОЛЬ-КОНТРОЛЬ-КОНОН
RCVD DONT LINEMODE
ВИДАЛЕНИЙ ЛІНЕМОД
RCVD IAC SB LINEMODE SLC IP VARIABLE | ACK | FLUSHIN | FLUSHOUT 3; AO VARIABLE | ACK 15; ABORT VARIABLE | ACK | FLUSHIN | FLUSHOUT 28; EOF VARIABLE | ACK 4; SUSP VARIABLE | ACK | FLUSHIN 26; EC VARIABLE | ACK 127; EL VARIABLE | ACK 21; EW VARIABLE | ACK 23; RP ЗМІННО | ACK 18; ПРОМОВЛЕННЯ ЛНЕКСТУ | ACK 22; XON VARIABLE | ACK 17; XOFF VARIABLE | ACK 19;

FreeBSD / i386 (m-net.arbornet.org) (pts / 5)

вхід: 

2
відмінна відповідь. коли я читаю man telnetєдиний перелік помилок, це: The source code is not comprehensible. Цікаво, чи хто-небудь коли-небудь писав актуального клієнта, крім іншого, ніж C.
Thufir

3
Це не принесе великої користі, оскільки сам протокол також застарів, як і більшість серверів ... SSHv2 - це сучасна заміна. // також зауважте, що існує декілька різних клієнтів під назвою "telnet" - inetutils-telnet & netkit-telnet, серед інших.
користувач1686

1
Хоча, у відповідній примітці, SSH має рядок агента користувача.
користувач1686

1
@grawity telnet все ще бачить багато корисного, наприклад, для діагностики. Це стає дещо рідше завдяки розповсюдженню TLS (на користь, наприклад, OpenSSL -connect), але все ще існує багато дійсних застосувань для досить текстового з'єднання з голими кістками, як і телнет, коли ви звертаєтесь до не-telnet-сервера. Звичайно, залишається Ваша думка, що telnet - це не просто програмне забезпечення, це протокол; це трохи схоже на дзвінок веб-браузера HTTP.
CVn

1
@ MichaelKjörling Але коли команда telnet використовується для налагодження мережевого зв'язку, вона насправді не говорить протокол telnet. З клієнтом telnet я щойно перевірив, просто кажу йому, до якого номера порту потрібно підключитися, це призведе до зміни поведінки.
kasperd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.