Представьте себе ситуацию: вы сидите дома, пытаетесь открыть любимый сайт, например Яндекс, а он вам в ответ – «Нет доступа!» Вы начинаете паниковать: «А вдруг интернет умер? Или провайдер решил отдохнуть?» Но прежде чем хвататься за телефон и звонить в службу поддержки с криками «У меня всё пропало!», стоит вспомнить про старого доброго друга — программу telnet.
Она как швейцарский нож для сетевого диагноста: и порт проверит, и сервер спросит, и даже почту может проверить (ну, почти).
Прежде чем погружаться в этот волшебный мир telnet’а, давайте немного разберёмся с тем, что такое IP-адреса. Если коротко, то IP-адрес — это такой цифровой паспорт вашего устройства в огромном виртуальном городе под названием Интернет.
Он состоит из четырёх чисел от 0 до 255, разделённых точками. Например: 192.168.0.1 — звучит как пароль к секретной базе данных ЦРУ, но на самом деле это просто адрес вашего домашнего роутера.
Кстати, если бы все IP были такими же простыми для запоминания, как пароли из фильма «Матрица», жизнь была бы проще.
А теперь представьте: вы хотите позвонить другу по имени Иван Иванович, но вместо этого у вас есть только его номер телефона. Вот тут на помощь приходит DNS — служба имён доменов.
Это такая электронная телефонная книга интернета: она переводит понятные нам слова вроде yandex.ru в скучные цифры типа 77.88.55.60. Без неё мы бы каждый раз вводили эти цифры вручную — скукотища!
И вот вы решили проверить работу какого-нибудь сервиса через telnet.
Сначала придётся немножко постараться и включить эту программу в Windows (она там спрятана как сокровище пиратов). Нужно зайти в Панель управления, найти таинственный пункт «Включение или отключение компонентов Windows» и поставить галочку рядом с «Клиент Telnet».
Если вы думаете, что это сложно — вспомните анекдот про программиста:
«Почему программист не любит ходить по магазинам? Потому что там нет кнопки «Отмена».»
Зато после всех этих манипуляций появляется командная строка — черное окно с мигающим курсором, где можно писать команды и получать ответы от серверов так же легко, как шутки на корпоративе.
Например, если набрать команду telnet mail.yandex.ru 110 (110 — это порт для получения почты POP3), то можно увидеть приветствие почтового сервера. Это примерно как заглянуть за кулисы театра: видишь не только блестящие декорации (ваш почтовый ящик), но и всю техническую кухню.
Но telnet не ограничивается почтой! Хотите проверить сайт?
Введите telnet www.yandex.ru 80 — порт 80 отвечает за HTTP-трафик (то есть обычные сайты). Если соединение установится успешно (курсор мигнет слева сверху), значит сервер жив-здоров и готов разговаривать с вами.
Конечно, бывают случаи когда сайт использует защищённый протокол HTTPS на порту 443 — тогда telnet уже бессилен как старый телефон без кнопок вызова экстренных служб.
А зачем вообще всё это нужно?
Ну вот послушайте один забавный случай из жизни сетевого инженера. Приходит клиент и жалуется: «Интернет не работает!» Инженер берёт свой trusty telnet и пробует подключиться к сайту клиента через порт 80… Всё отлично! Тогда инженер говорит клиенту: «Проблема у вас в браузере.» Клиент удивляется: «Как так?
Я думал интернет либо есть, либо нет!» Инженер улыбается: «Ну нет же! Интернет – это большой ресторан с множеством официантов (серверов).
Иногда официант занят или не понимает ваш заказ (браузер), а кухня работает исправно.»