При использовании telnet я использовал порт 25.

Пример: telnet x.x.x.x 25

Сегодня у меня был другой сервер, который использовал порт 23. В будущем, как легко узнать, какой порт использовать? Этот порт имеет тенденцию меняться с 25/23? У меня есть SSH доступ к серверу.

Я следую за этим до сих пор.

1 ответ1

4

По сути, Telnet просто открывает необработанный сокет TCP . Следовательно, любой порт, который принимает TCP-соединения, позволит вам подключиться к нему через telnet (иногда на короткое время, если впоследствии вы не выполните правильные и своевременные переговоры).

Это включает в себя службу SSH, которая работает по умолчанию на порту 22, кстати, но так как это не простой текстовый протокол (например, служба telnet на порту 23 или SMTP на порту 25), вы не можете вручную вводить символы в сокет после вы подключаетесь и ожидаете, что это сработает - это будет просто искаженная ерунда.

С точки зрения знания того, какие порты использовать на данном сервере, прежде всего вы должны быть осторожны - сканирование на наличие открытых портов на машине, которой вы не владеете, может привести к проблемам с владельцем этой машины и может привести к отключению. сигналы тревоги в системах обнаружения вторжений. Это, в конце концов, то, как хакер попытается "обойти" хост, чтобы определить, что на нем работает. Нет простого способа отличить этот тип сканирования от вашего относительно невинного, поэтому будьте осторожны.

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

С точки зрения знания того, к каким портам следует подключаться заранее, или определения того, что может делать конкретный открытый порт, официальный реестр назначений портов является первым портом захода. Обычно у вас также есть версия этой версии на вашем хосте - для систем Unix/Linux вы можете найти ее в /etc/services а для Windows это будет что-то вроде C:\Windows\System32\drivers\etc\services . Имейте в виду, что эти локальные копии могут быть довольно устаревшими.

Также стоит отметить, что вы можете запускать сервисы на любом порту, который вам нужен, это только зарегистрированные значения по умолчанию. Некоторые сервисы вообще не регистрируются. В других случаях администратор может запустить службу на нестандартном порту просто для того, чтобы избежать явного сканирования портов (например, запуск ssh на порту 722). Теоретически вы можете запустить веб-сервер через порт 22, а затем указать свой браузер на http://server:22/ и он будет работать, но зачем вам это нужно? (кроме, возможно, обхода брандмауэра).

Из-за чего стоит упомянуть HTTP - вы можете подключиться к порту 80 (порт http по умолчанию) и выполнить простую команду в виде простого текста, как в браузере. Раньше это было так же просто, как отправка GET / но это было в HTTP 1.0 дней, и теперь это немного (но не намного) сложнее:

$ telnet superuser.com 80
Trying 198.252.206.16...
Connected to superuser.com.
Escape character is '^]'.
GET / HTTP/1.1
Host: superuser.com

HTTP/1.1 200 OK
Cache-Control: public, no-cache="Set-Cookie", max-age=14
Content-Type: text/html; charset=utf-8
Expires: Thu, 31 Jul 2014 18:04:39 GMT
Last-Modified: Thu, 31 Jul 2014 18:03:39 GMT
Vary: *
X-Frame-Options: SAMEORIGIN
Set-Cookie: prov=d901880d-730c-4d91-9ac9-7d81d84fe58a; domain=.superuser.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
Date: Thu, 31 Jul 2014 18:04:24 GMT
Content-Length: 69500

<!DOCTYPE html>

Я обрезал все остальное ради краткости.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .