Win 10 Pro, без домена, версия 22H2 (сборка ОС 19045.6456), i7, памяти полно 16ГБ, половина всегда свободна.. Первый раз с таким встречаюсь. Проводной интернет примерно 200 Мбит ссылка удалена Через несколько часов после загрузки ОС пропадает интернет на всех браузерах (Хром, Фокс, IE, Tor), иногда полсайтика может прогрузиться и опять застрять. Даже мой домашний роутер на http не отвечает. При этом пинги по всему миру проходят отлично без потерь с малыми задержками. Перетыкание сетевого кабеля не помогает. Отключение-включение сетевого адаптера поначалу помогает. Но со временем все меньше и меньше, приходится чаще включать -выключать. Перезагрузка ОС помогает на более длительный срок. Переустановил дрова сетевой карты, отключил на ней все опции энергосбережения. Не помогает. Отключил антивирус, не помогает. Когда затыки интернет становятся совсем частые отключил сетевой адаптер Ethernet, присоединил USB модем от телефона (те же 200 Мбит/сек, только через Wifi), но на этой сетевой карте те же проблемы стали. Перезагрузка ОС помогла на несколько часов. Кто-нибудь знает, что это может быть? Может кто сталкивался с таким? Может гуру windows что подскажет? Как так, сетевой уровень работает исправно, а трафик загибается?
Анализ вашей проблемы
Симптомы, которые вы описываете — классический случай истощения эфемерных портов TCP или повреждения каталога Winsock в Windows 10. Ключевые признаки:
✅ Пинги (ICMP) работают идеально
✅ Все браузеры «ломаются» одновременно
✅ Даже локальный роутер по HTTP не отвечает
✅ Проблема проявляется **через несколько часов** после загрузки
✅ Перезагрузка помогает временно
✅ Проблема воспроизводится на разных сетевых адаптерах (Ethernet → USB WiFi)
✅ Драйверы, антивирус, энергосбережение — не при чём
Это указывает на проблему на уровне стека TCP/IP Windows, а не на железо или драйверы.
---
Наиболее вероятные причины
1. Истощение эфемерных портов (TCP Port Exhaustion)
Windows выделяет для исходящих соединений порты в диапазоне 49152–65535 (~16 000 портов). Если какой-то процесс создаёт множество соединений и не закрывает их корректно, порты «зависают» в состоянии `TIME_WAIT` (по умолчанию 4 минуты). Когда свободные порты заканчиваются — новые соединения (браузеры, торренты, обновления) не могут установиться, но пинги (ICMP) продолжают работать.
2. Повреждение каталога Winsock
Winsock — это API Windows для сетевого взаимодействия. При его повреждении или конфликте с фильтрами (антивирусы, фаерволы, VPN) приложение-уровень (HTTP/HTTPS) перестаёт работать, хотя сетевой уровень (ICMP) остаётся исправным.
3. Конфликт с функциями Windows (IPv6, IP Helper, WFP)
Служба IP Helper и переходные технологии IPv6 (Teredo, 6to4) иногда вызывают «зависание» стека при нестабильном соединении.
---
Пошаговая диагностика и решение
Шаг 1: Быстрая проверка на истощение портов
Запустите командную строку от имени администратора и выполните:
netstat -ano | findstr TIME_WAIT
или более информативно:
netstat -anobq
Если видите сотни/тысячи записей в состоянии `TIME_WAIT` для одного PID — это «утечка» портов.
Чтобы узнать, какой процесс держит PID:
tasklist | findstr <PID>
Или используйте TCPView от Microsoft Sysinternals — он покажет все соединения в реальном времени с именами процессов.
---
Шаг 2: Сброс сетевого стека (временное, но эффективное решение)
netsh winsock reset netsh int ip reset ipconfig /flushdns
Перезагрузите ПК после выполнения.
Это пересоздаёт каталог Winsock и сбрасывает настройки TCP/IP.
---
Шаг 3: Проверка событий системы
Откройте Просмотр событий → Журналы Windows → Система и найдите:
- Event ID 4227: `TCP/IP failed to establish an outgoing connection...`
- Event ID 4231: `The name limit for the local computer network adapter was exceeded`
Наличие этих событий подтверждает истощение портов.
---
Шаг 4: Поиск «виновного» процесса
Вариант А: Через PowerShell (Windows 10+)
Get-NetTCPConnection | Group-Object State, OwningProcess |
Select Count, Name, @{Name="Process";Expression={(Get-Process -PID ($_.Name.Split(',')[-1].Trim(' '))).ProcessName}} |
Sort Count -Descending | Select -First 10
Вариант Б: Через Process Explorer
1. Скачайте [Process Explorer]( https://learn.microsoft.com/sysinternals/downloads/process-explorer)
2. Запустите от имени администратора
3. View → Lower Pane View → Handles
4. Ищите процессы с аномально большим количеством хендлов типа `AFD` (это сетевые сокеты)
Частые виновники: софт для периферии (мыши, клавиатуры), торрент-клиенты, агенты обновлений, VPN, «оптимизаторы» сети.
---
Шаг 5: Временное увеличение диапазона портов (если нужно срочно)
netsh int ipv4 set dynamicport tcp start=10000 num=50000 netsh int ipv4 set dynamicport udp start=10000 num=50000
⚠️ Это не решение, а «костыль». Нужно найти и устранить процесс, который «утекает» порты.
---
Шаг 6: Отключение потенциально конфликтующих компонентов
Если не используете IPv6:
netsh interface ipv6 set state disabled
Или вручную:
Сетевые подключения → Свойства адаптера → снять галочку с `IP версии 6 (TCP/IPv6)`
Отключите службы (если не нужны):
- IP Helper**
- UPnP Device Host**
- SSDP Discovery**
---
Дополнительные проверки
- Целостность системных файлов `sfc /scannow`
- Проверка на скрытые процессы `Get-Process \| Where-Object {$_.Handles -gt 3000}` в PowerShell
- Мониторинг в реальном времени. Запустите TCPView и оставьте висеть, пока проблема не проявится
- Проверка в Безопасном режиме с сетью. Если в нём проблема исчезает — виновато стороннее ПО.
---
Резюме
1. Ваша проблема — не железо и не драйверы, а программный сбой в сетевом стеке Windows.
2. Наиболее вероятная причина — утечка эфемерных портов из-за «багованного» процесса.
3. TCPView — ваш главный инструмент для поиска виновника.
4. `netsh winsock reset` + перезагрузка — быстрое временное решение.
5. Если проблема возвращается — ищите процесс с аномальным числом сетевых хендлов и обновляйте/удаляйте его.
Совет: Создайте задачу в Планировщике, которая каждые 30 минут логирует вывод `netstat -ano` в файл. Когда проблема проявится — у вас будет «снимок» состояния портов для анализа.
Если после всех шагов проблема сохраняется — рассмотрите чистую переустановку Windows 10 22H2 с обновлением до последних накопительных обновлений (в вашей сборке 19045.6456 могут быть известные баги, исправленные в более новых KB).
Удачи в диагностике! Если найдёте виновника — поделитесь, это поможет другим. 🤝
Огромная благодарность Zerox и несомненный плюс за столь развернутый подробный ответ. Четкий алгоритм что, как и зачем проверять. Я до того еще сбросил все, что только возможно в windows для сети. Возможно проблема пропадет, пока 6 часов все хорошо, если завтра не глюканет, то можно считать исправилось. Но почитав ответ Zerox, все равно пройдусь по алгоритму хотя бы для интереса, тем более, может что и вылезет, тогда сообщу. И для собственного понимания полезно.
Прошелся по алгоритму. Нашел
- Event ID 4227: `TCP/IP failed to establish an outgoing connection...`
- Event ID 4231: `The name limit for the local computer network adapter was exceeded`
Вчера и несколькими днями ранее. Действительно затыки тогда были. Из приложений много ждущих закрытие соединения был только Viber, около 2500 штук было. Удалил Viber нафиг. TCPDump показывает вроде нормальную ситуацию сейчас, ТАЙМ_WAIT и CLOSE_WAIT мало, не больше 4 штук в среднем. Проверка системных файлов только одну ошибку показала, не может восстановить CompatTelRunner.exe. Но это я сам давно его залочил, чтобы windows не запускал его, жрал процессор. Теперь вроде хорошо стало. Благодарю за помощь!
Server Admin Авторский блог системного администратора