По соглашениям и стандартам определенные протоколы обычно прослушивают определенные порты по умолчанию. Вы можете настроить любую службу на прослушивание любого порта, который вам нужен, просто имейте в виду, что переход от стандартного порта означает, что стандартным инструментам необходимо явно указать использование вашего нестандартного порта.
Например, если вы запускаете веб-сервер, то по умолчанию он, вероятно, прослушивает порт 80. Поэтому все, что нужно сделать, чтобы посетить ваш сервер, это использовать адрес:
http://www.yourserver.com
Однако, если вы измените его для прослушивания нестандартного порта, например 81, то любой пользователь, который хочет посетить ваш сайт, должен будет указать номер порта:
http://www.yourserver.com:81
Стандартного соглашения о простом использовании адреса недостаточно, потому что вы нарушили соглашение. Теперь это хорошо, если вы не хотите, чтобы люди случайно использовали ваш сайт, и хотите, чтобы он был доступен только тем, кому вы указали номер порта. Это называется «безопасность через безвестность». На самом деле он никак не защищает ваш сайт и ничего не фильтрует, он просто добавляет дополнительный шаг к использованию сайта.
Что касается SMTP, да, вы можете писать программы для подключения к порту 25 служб SMTP и отправлять данные этим службам. Вы действительно можете подделать электронные письма таким образом. Однако большинство служб имеют другие встроенные проверки и противовесы для предотвращения такого подмены.