Служба общего доступа к портам Net.Tcp: что это за служба

Служба общего доступа к портам Net.Tcp (NetTcpPortSharing) по умолчанию находится в остановленном состоянии и запускается вручную только тогда, когда её запрашивает приложение, использующее протокол net.tcp из состава Windows Communication Foundation (WCF). Если вы обнаружили её в списке служб Windows и не знаете, зачем она нужна — это нормально: на домашних компьютерах она чаще всего вообще не работает и не потребляет ресурсов.

Эта служба — штатный компонент операционной системы Windows, а не вирус и не стороннее ПО. Ниже разберём, какую задачу она решает, какие процессы от неё зависят, когда её можно безопасно отключить и как проверить, нужна ли она именно на вашем компьютере.

Что такое служба Net.Tcp Port Sharing

Служба общего доступа к портам Net.Tcp (англ. Net.Tcp Port Sharing Service) позволяет нескольким приложениям одновременно использовать один и тот же TCP-порт. Обычно порт в Windows может занимать только один процесс: если программа «захватила» порт, вторая программа с тем же портом завершится с ошибкой. Служба решает эту проблему для приложений на базе WCF.

Механизм работает так: служба принимает входящие подключения на общий порт и распределяет их между зарегистрированными приложениями по адресу назначения. Это похоже на то, как веб-сервер IIS обслуживает несколько сайтов на одном порту 80 или 443.

Ключевые характеристики службы:

  • 🧩 Системное имя: NetTcpPortSharing
  • 📂 Исполняемый файл: SMSvcHost.exe, расположенный в каталоге C:\Windows\Microsoft.NET\Framework (и версии для 64-разрядных систем в Framework64)
  • ⚙️ Тип запуска по умолчанию: «Вручную» (отключена до первого запроса)
  • 🔑 Учётная запись: локальная служба (Local Service)
  • 🌐 Стандартный порт: 808 для активации через net.tcp

Как проверить состояние службы

Прежде чем что-то менять, посмотрите текущее состояние службы. Самый быстрый способ — через консоль управления службами:

services.msc

Нажмите Win + R, введите команду выше и найдите в списке «Служба общего доступа к портам Net.Tcp». Обратите внимание на колонки «Состояние» и «Тип запуска». Если служба остановлена и тип запуска — «Вручную», система находится в стандартной конфигурации, и никаких действий не требуется.

Альтернативный вариант — командная строка или PowerShell:

sc query NetTcpPortSharing

Ответ STATE: 1 STOPPED означает, что служба не запущена. Если же она работает (RUNNING), значит, какое-то приложение на компьютере её использует — об этом стоит узнать подробнее перед отключением.

Кому нужна эта служба

На практике служба востребована в корпоративной среде и у разработчиков. Типичные сценарии:

  • 💼 Серверные приложения, самостоятельно размещающие WCF-сервисы без IIS
  • 🛠️ Среды разработки и тестирования на .NET Framework, где несколько служб слушают один порт
  • 🏢 Корпоративное ПО (учётные системы, внутренние сервисы), построенное на WCF с привязкой netTcpBinding
  • 🖥️ Службы активации Windows (WAS) в связке с IIS при хостинге net.tcp-приложений

Если вы не разрабатываете ПО и не работаете с корпоративными WCF-приложениями, служба вам, скорее всего, не нужна. Однако её запущенное состояние само по себе не является проблемой — она не открывает порт наружу без приложения, которое его запросило.

📊 В каком состоянии вы обнаружили службу NetTcpPortSharing?
Остановлена, тип запуска «Вручную»
Работает, хотя я ничего не запускал
Хочу отключить для оптимизации
Просто изучаю службы Windows

Можно ли отключить службу Net.Tcp

Да, на домашнем компьютере службу можно отключить без последствий, если вы не пользуетесь приложениями на WCF. Порядок действий:

☑️ Безопасное отключение NetTcpPortSharing

Выполнено: 0 / 5

Через командную строку от имени администратора отключение выполняется так:

sc config NetTcpPortSharing start= disabled

sc stop NetTcpPortSharing

⚠️ Внимание: если службу использует установленное приложение, после отключения оно может перестать запускаться или выдавать ошибку подключения. Верните тип запуска «Вручную» — этого достаточно, чтобы приложение снова смогло активировать службу самостоятельно.

Агрессивно «оптимизировать» систему, отключая всё подряд, не стоит: выигрыш в ресурсах от одной остановленной службы практически нулевой, а риск сломать работающее ПО реален.

Связанные службы и зависимости

Служба общего доступа к портам Net.Tcp — часть семейства служб активации WCF. Рядом с ней в списке служб вы можете встретить родственные компоненты:

СлужбаИмя в системеНазначение
Общий доступ к портам Net.TcpNetTcpPortSharingСовместное использование TCP-порта приложениями WCF
Адаптер прослушивателя Net.TcpNetTcpActivatorПриём сообщений по протоколу net.tcp для WAS
Адаптер прослушивателя Net.PipeNetPipeActivatorАктивация через именованные каналы
Адаптер прослушивателя Net.MsmqNetMsmqActivatorАктивация через очереди сообщений MSMQ
Служба активации Windows (WAS)WASОбщий механизм активации процессов для IIS

Зависимости у NetTcpPortSharing минимальны — она опирается на базовые сетевые компоненты Windows. А вот от неё могут зависеть сторонние приложения, поэтому перед отключением полезно открыть свойства службы и посмотреть вкладку «Зависимости».

Почему служба появилась после установки программы

Некоторые приложения при установке переводят NetTcpPortSharing в автоматический режим запуска, потому что используют WCF с net.tcp. Это штатное поведение: например, так поступают отдельные корпоративные клиенты и серверные компоненты. Если служба стала запускаться автоматически после установки конкретной программы — причина, скорее всего, именно в ней.

Безопасность: не вирус ли это

Подлинный файл SMSvcHost.exe — компонент Microsoft .NET Framework, подписанный цифровой подписью Microsoft. Чтобы убедиться, что вы имеете дело с оригиналом, а не с маскирующейся угрозой, выполните простую проверку:

  • 📁 Откройте расположение файла через диспетчер задач (правый клик по процессу → «Открыть расположение файла») — он должен находиться в каталоге C:\Windows\Microsoft.NET\
  • ✍️ Проверьте цифровую подпись: свойства файла → вкладка «Цифровые подписи» — подписантом должна быть Microsoft
  • 🛡️ При малейших сомнениях прогоните файл антивирусом или загрузите на сервис множественной проверки
⚠️ Внимание: если файл с именем SMSvcHost.exe находится вне каталога Microsoft.NET (например, в папке пользователя или Temp) — это тревожный признак. Проверьте систему антивирусом и не запускайте такой файл.

Сама по себе служба не создаёт открытых сетевых точек входа: порт прослушивается только тогда, когда зарегистрированное приложение активно. Дополнительно контролировать сетевую активность можно через брандмауэр Windows.

Типичные проблемы и их решение

Иногда с этой службой связаны ошибки — обычно на стороне приложений. Наиболее частые ситуации:

Служба не запускается. Возможная причина — повреждённые компоненты .NET Framework или некорректные разрешения. Проверьте журнал событий (eventvwr.msc, раздел «Журналы Windows» → «Система») на наличие ошибок с источником Service Control Manager — там будет код ошибки, по которому можно искать решение.

Приложение сообщает, что порт занят. Это как раз тот случай, когда служба должна помочь: убедитесь, что она запущена и приложение настроено на использование общего доступа к портам. Если приложение стороннее — сверьтесь с его документацией, так как параметр включается в конфигурации конкретного ПО.

Служба запускается сама после отключения. Значит, её активирует какое-то установленное приложение. Найдите его через журнал событий или методом исключения, иначе отключение будет бессмысленным.

Частые вопросы

Нужна ли служба Net.Tcp Port Sharing на домашнем компьютере?

Как правило, нет. Она нужна приложениям на базе WCF с протоколом net.tcp — это в основном корпоративное и серверное ПО. На домашнем ПК без таких программ служба остаётся остановленной и не влияет на работу системы.

Служба NetTcpPortSharing — это вирус?

Нет, это штатный компонент Windows из состава .NET Framework. Исполняемый файл SMSvcHost.exe подписан Microsoft и находится в системном каталоге. Подделку можно распознать по неправильному расположению файла и отсутствию цифровой подписи.

Что будет, если отключить службу общего доступа к портам Net.Tcp?

Если её не используют установленные приложения — ничего не изменится. Если используют — такие приложения могут перестать принимать сетевые подключения или выдавать ошибки. Отключение обратимо: достаточно вернуть тип запуска «Вручную».

Почему служба работает, хотя я её не запускал?

Её активировало приложение, использующее WCF с net.tcp, или установщик перевёл тип запуска в автоматический режим. Вспомните, какое ПО устанавливалось недавно, и проверьте его документацию.

Какой порт использует служба?

Стандартный порт для активации по протоколу net.tcp — 808. Однако служба слушает его только при наличии зарегистрированного приложения; в остальное время порт не занят.