Служба общего доступа к портам 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-приложениями, служба вам, скорее всего, не нужна. Однако её запущенное состояние само по себе не является проблемой — она не открывает порт наружу без приложения, которое его запросило.
Можно ли отключить службу Net.Tcp
Да, на домашнем компьютере службу можно отключить без последствий, если вы не пользуетесь приложениями на WCF. Порядок действий:
☑️ Безопасное отключение NetTcpPortSharing
Через командную строку от имени администратора отключение выполняется так:
sc config NetTcpPortSharing start= disabled
sc stop NetTcpPortSharing
⚠️ Внимание: если службу использует установленное приложение, после отключения оно может перестать запускаться или выдавать ошибку подключения. Верните тип запуска «Вручную» — этого достаточно, чтобы приложение снова смогло активировать службу самостоятельно.
Агрессивно «оптимизировать» систему, отключая всё подряд, не стоит: выигрыш в ресурсах от одной остановленной службы практически нулевой, а риск сломать работающее ПО реален.
Связанные службы и зависимости
Служба общего доступа к портам Net.Tcp — часть семейства служб активации WCF. Рядом с ней в списке служб вы можете встретить родственные компоненты:
| Служба | Имя в системе | Назначение |
|---|---|---|
| Общий доступ к портам Net.Tcp | NetTcpPortSharing | Совместное использование TCP-порта приложениями WCF |
| Адаптер прослушивателя Net.Tcp | NetTcpActivator | Приём сообщений по протоколу net.tcp для WAS |
| Адаптер прослушивателя Net.Pipe | NetPipeActivator | Активация через именованные каналы |
| Адаптер прослушивателя Net.Msmq | NetMsmqActivator | Активация через очереди сообщений 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. Однако служба слушает его только при наличии зарегистрированного приложения; в остальное время порт не занят.