Установленный сетевой протокол как узнать

Обновлено: 04.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

Почему важно знать, какие порты открыты на компьютере?

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

Если ваш компьютер заражён вредоносным программным обеспечением, таким как троян, бэкдор (вирусы, которые позволяют злоумышленнику удалённо подключаться к вашему компьютеру и управлять им), то обычно такой бэкдор открывает порт и прослушивает сеть, в ожидании входящего соединения. Хотя могут быть варианты, например, многие бэкдоры подключаются к компьютеру злоумышленника и ожидают команд — в этом случае правильнее говорить не об открытом порте, а об установленном соединении. Это распространённый способ поведения вредоносного ПО, поскольку в данном случае не требуется, чтобы у жертвы был белый IP (что для домашних компьютеров является редкостью). Поэтому важно проверять открытые порты и установленные сетевые соединения. Конечно, установленное соединение означает наличие открытого порта, но с технической точки зрения это всё-таки разные вещи.

Ещё один пример, когда нужно определить, какая именно служба прослушивает порт: вы пытаетесь установить сетевую службу (веб-сервер Apache или СУБД MySQL), а они не запускаются, так как какая-то другая служба уже заняла их порт, который они используют по умолчанию. В этом случае нужно найти эту службу и отключить её или настроить на работу с другим портом.

Но, как и во многих IT задачах (да и вообще во многих профессиональных сферах), получить данные это только самое начало. Главное — это правильно их истолковать и понять.

Поэтому в этой статье мы рассмотрим, как узнать, какие порты открыты, как проверить, какая служба прослушивает определённый порт, а также научимся правильно понимать вывод команды NETSTAT и аналогичных.

Как проверить открытые порты в Windows

В Windows есть команда netstat, которая отображает статистику протокола и текущих сетевых подключений TCP/IP.

Используя команду со следующими ключами, можно посмотреть информацию о всех подключениях и прослушиваемых портах в Windows:


Как с помощью PowerShell проверить открытые порты в Windows

Get-NetTCPConnection — это PowerShell-эквивалент NETSTAT, запуск команды без опций возвращает результат аналогичный netstat (но только по TCP портам и соединениям!).


Чтобы вывести список открытых портов, используйте опцию -State со значением Listen:


Командлет Get-NetUDPEndpoint получает текущую статистику для конечной точки UDP. Командлет возвращает свойства конечной точки UDP, например локальные и удалённые порты UDP. Если вы не укажете никаких параметров, командлет получит статистику для всех конечных точек UDP. Get-NetUDPEndpoint запущенный без опций вернёт локальный адрес и локальный порт.


А следующая команда покажет открытые на всех сетевых интерфейсах UDP порты:


Связанные статьи:

Как в Windows узнать, какая программа прослушивает порт (с помощью PowerShell)

В этом примере будет получено имя процесса, связанного с каждым открытым портом:


Эта команда покажет все процессы связанные с любой сетевой активностью (открытые порты, а также установленные соединения и другие статусы):

Чтобы узнать, какая именно программа прослушивает определённый порт, используйте следующий набор команд:


Чтобы просмотреть идентификатор процесса-владельца используемого порта UDP, запустите команду:

Используйте следующую команду, чтобы отобразить имя процесса, открывшего UDP порт:



Как в Windows узнать, какая программа прослушивает порт (используя CMD)

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

Для поиска службы, можно добавить к команде NETSTAT опцию -b, которая означает показать исполнимый файл, прослушивающий порт:


Также имеется альтернативный способ определения исполнимого файла, привязанного к порту. Для него откройте Командную строку Windows. Для этого нажмите сочетание клавиш Win+x, там выберите Windows PowerShell (Администратор). В открывшемся окне введите:

чтобы переключиться на Windows Console Host (обычную командную строку).

Там запустите команду вида:


Эта команда найдёт службы, которые прослушивают 80 порт. Чтобы найти информацию о другом порте, замените в команде цифру 80 на интересующий вас порт.

Пример вывода в моём случае:

Менять порт в длинной команде не всегда удобно, поэтому рекомендую создать текстовый файл с именем port.bat, в этот файл скопируйте:

Сохраните и закройте этот файл.

Теперь в Windows PowerShell или в командной строке Windows с помощью команды cd перейдите в папку, куда вы сохранили файл. Например, я его сохранил в папку C:\Users\Alex\Documents\, тогда для перехода туда я выполняю:

Теперь запустите файл командой вида:

Где ПОРТ замените на интересующий вас порт, например, меня интересует порт 80, тогда:

Вновь получаю аналогичный результат.


Как проверить открытые порты в Linux. Как узнать, какая служба прослушивает порт

Для Linux тоже есть команда netstat, но она, вроде как, теперь считается устаревшей и на её замену рекомендуется команда ss. Показываемая информация у ss и netstat очень похожи. Даже основные опции идентичны.

Итак, для вывода открытых портов TCP и UDP протоколов вместе с показом процессов, которые их прослушивают, используется команда:


Чтобы вывести список установленных соединений для портов TCP и UDP, используйте команду:

Что означает вывод netstat и ss

Далее мы научимся понимать, что именно выводит netstat. Но для полного понимания нам нужно изучить немного теории — совсем кратко. Я расскажу только о том, что нам действительно понадобиться.

TCP и UDP

TCP и UDP это протоколы транспортного уровня. Самое главное что вам нужно о них знать: любой из них может использоваться для передачи информации.

Кстати, про протокол TCP вы практически наверняка слышали, по крайней мере должны были встречать запись TCP/IP — эта связка протоколов очень важна для Интернета. Протокол IP отвечает за то, куда отправлять данные, а TCP отвечает за непосредственную передачу данных и проверку их целостности.

Работу протокола TCP можно представить как создание соединения между двумя компьютерами, по этому соединению передаются данные. Внутри этого соединения данные проверяются на предмет повреждения — если какая-то часть повреждена, то она отправляется повторно.

Протокол UDP тоже передаёт данные, но вместо того, чтобы создавать устойчивое соединение, внутри которого данные проверяются на целостность, он только отправляет пакет данных на определённый адрес, при этом не осуществляется контроль, был ли покет доставлен без повреждений и был ли доставлен вообще. По сути это и есть главное отличие между этими протоколами.

LISTENING, ESTABLISHED, CLOSE_WAIT и другие состояния

Как вы можете увидеть в выводе команды netstat для протокола TCP доступны разные варианты состояний.

ESTABLISHED означает уже установленное соединение. Пример такого соединения: веб-браузер инициализировал загрузку страницы сайта и пока данные передаются по этому соединению, у этого соединения статус ESTABLISHED.

Имеются и другие виды состояний, но для наших целей они не очень важны. По большому счёту нас интересует только LISTENING, так как это означает открытые порты на нашем компьютере и возможность подключаться к нему. Также нам важно состояние ESTABLISHED, поскольку оно означает, что данные уже передаются по сетевому соединению.

UDP и LISTENING

Про UDP уже сказано чуть выше, что этот протокол не создаёт соединений в том смысле, как это делает TCP. Поэтому для этого протокола нет никаких состояний соединения — это просто неприменимо к нему. По этой причине в графе Состояние для него никогда не пишется LISTENING. Но значит ли это, что UDP порт не может быть прослушиваемым? Нет! Порт UDP также может быть прослушиваемым и доступным для соединений. В том числе этот порт может использоваться вирусами и злоумышленниками, поэтому эти порты также подлежат исследованию.

Пример анализа открытых портов

Я начну с анализа открытых портов на Linux. Просто потому, что мне так проще, а затем мы постепенно перейдём изучить открытые порты на Windows.

Пример информации об открытых портах, полученных командой:

Пример прослушиваемых портов на Linux:

В выводимых данных имеются следующие поля:

  • Netid — протокол udp или tcp
  • State — состояние, для протоколов TCP здесь будет LISTEN (поскольку мы явно указали в опциях показать только прослушиваемые порты), а для протоколов UDP здесь будет UNCONN, то есть состояние неизвестно, но, на самом деле, это тоже прослушиваемые порты, которые позволяют подключаться из вне
  • Recv-Q — получено
  • Send-Q — отправлено
  • Local Address:Port — локальный адрес и порт, к которому привязана служба, то есть IP адрес и порт, которые прослушиваются
  • Peer Address:Port — удалённый адрес и порт, к которым выполнено соединение.

Рассмотрим, что означает запись 127.0.0.1:9050: она говорит о том, что прослушивается порт 9050. Причём он прослушивается только для IP адреса 127.0.0.1. Адрес 127.0.0.1 относится к так называемым Loopback, то есть это замыкающийся на себя, закольцованный адрес. Сетевой интерфейс с этим адресом называется петлевым. Пакеты, которые отправляются с компьютера на этот адрес, приходят на этот же самый компьютер (точнее говоря, они никуда даже не уходят). Доступ к этому адресу может иметь только служба, работающая на этом же самом компьютере. Отсюда важное следствие: хотя порт 9050 прослушивается, никто другой не может к нему подключиться из любой сети. Это же относится и к адресам из диапазона ::1/128 — это такие же адреса, но уже для IPv6, в IPv6 аналог для 127.0.0.1 это ::1 (тоже часто можно видеть в выводимой информации).

Смотрите также:

Если прослушиваются какие-либо адреса из локальных

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 127.0.0.0/8

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

Для вывода прослушиваемых портов и уже установленных сетевых подключений используйте следующую команду:

Звёздочка (*) вместо адреса или порта

Мы можем увидеть записи вроде *:80 или даже *:*

Здесь звёздочка означает любой адрес или любой порт. Например, *:80 в колонке Local Address:Port (Локальный адрес:Порт) означает, что прослушивается 80 порт сразу на всех сетевых интерфейсах, доступных в данной системе. То есть служба ответит на запрос к 80 порту откуда бы он не пришёл: из локальной сети, из глобальной сети (если есть прямое соединение и интерфейс с белым IP) или с закольцованного адреса — это неважно, служба всё равно примет это соединение.

Кстати, служба может прослушивать порт в соответствии со следующими правилами:

  • может прослушиваться конкретный порт для одного IP адреса
  • может прослушиваться конкретный порт для любого IP адреса

То есть порт должен в любом случае быть указан, поэтому для Local Address:Port (Локальный адрес:Порт) допустима запись *:80, но запись вида *:* никогда не встретится в этом столбце.

Для Peer Address:Port (Удалённый адрес:Порт) запись *:* означает, что принимаются соединения от любого IP, отправленные с любого порта.

Прослушиваемые порты IPv4 и IPv6 адресов в Linux

Что означает 0.0.0.0 в netstat. Различные виды нотаций в netstat и ss

0.0.0.0 — это самый первый IP адрес. Но он относится к IP специального назначения (как например 127.0.0.1) и выполняет разные функции.

Помните об этих различиях, чтобы не запутаться. А также помните о том, что если показано, что прослушивается протокол tcp6 (IPv6), то одновременно может прослушиваться порт и на tcp (IPv4) — при этом данные в выводимой информации отсутствуют!

В Windows в качестве Local Address (Локального адреса), когда прослушивается любой IP адрес на определённом порту, используется запись вида 0.0.0.0:80 (в этом примере прослушивается любой IP адрес, доступный в системе, на 80 порту). Для IPv6 адресов в этом случае используется запись вида [::]:80.

В качестве внешнего адреса, когда доступно подключения с любого IP и с любого порта, для TCP протокола пишется 0.0.0.0:0, а для UDP протокола в этих же условиях пишется *:*. Что тоже не особо логично и сбивает с толку. Точнее говоря такое различие в обозначениях вытекает из разницы протоколов TCP и UDP.

Если информация относится к IPv6, то для TCP когда имеется ввиду любой адрес на любом порту, используется запись вида [::]:0. А для UDP используются одинаковые нотации как для IP, так и для IPv6, то есть *:*

Нужно помнить, что некоторые из этих обозначений пересекаются с нотациями из Linux, где они имеют своё собственное значение.

Чтобы чуть облегчить жизнь, я составил такую табличку, которую можно использовать в качестве шпаргалки:

Определённый локальный IPv4 адрес на определённом порту

Любой локальный IPv4 адрес на определённом порту

Определённый локальный IPv6 адрес на определённом порту

В остальном, ошибки могут проявиться из-за:

В любом случае, если у вас перестал работать интернет в Windows 10, не важно, по кабелю, или по Wi-Fi, и в результатах диагностики неполадок появлялась надпись как на скриншоте выше, то сейчас мы попробуем решить эту проблему.

На этом компьютере отсутствуют один или несколько сетевых протоколов. Решение

Скорее всего, в зависимости от причины появления этой ошибки, решения бывают самыми разными.

Дальше, по очереди копируем, вставляем в командную строку, и выполняем (нажав Ентер), такие команды:

netsh winsock reset
netsh winsock reset catalog
netsh interface ipv4 reset

Выглядит это вот так:

После этого перезагружаем компьютер, и смотрим результат.

2 Следующий совет, прописать статические DNS-адреса. Этот совет оставили в комментариях. Думаю, нужно попробовать.


После изменения перезагрузите компьютер.

3 Отключаем, или удаляем антивирус. Есть подозрения, что ошибка может появляться из-за антивируса. Попробуйте его отключить. Не знаю, стоит ли, но можно и полностью удалить.

Где-то читал, что из-за антивируса NOD32 может появляться такая проблема. Да и вообще, советую отключить все программы, которые каким-то образом могут влиять на работу интернет соединения.

Поэтому, пробуем обновить, или переустановить драйвера. Или выполнить советы из этой статьи.

Протокол TCP/IP автоматически устанавливается вместе с Windows, но можно добавлять другие протоколы, службы или клиенты. Их следует устанавливать, только для использования определенного продукта или работы в сетевом окружении, которое в них нуждается. Протокол служба и клиент устанавливаются для всех подключений.

  • Если не нужно, чтобы установленный протокол, служба или клиент работали с определенным подключением, щелкните правой кнопкой мыши это подключение и выберите пункт Свойства. На вкладке Сеть снимите флажок с соответствующим именем.
  • Для установки протокола IPv4 нажмите кнопку Пуск и введите cmd в поле поиска. В списке результатов щелкните правой кнопкой мыши cmd и выберите Запуск от имени администратора. Введите команду netsh interface ipv4 install и нажмите клавишу Enter. При появлении соответствующего запроса перезагрузите компьютер.

Что означает и как может появится

Ошибка плавающая и по этому может означать очень большое количество факторов, повлиявших на отсутствие связи с сетью. Появиться она может при довольно разных неполадках.

  • Первый и соответственно самый простой вариант — это плохой коннект в физических разъемах подключения витой пары (кабель, который приходит от поставщика услуг интернета).
  • Возможно сбились настройки DNS, и нужно установить статическое значение.
  • Так же может появится при сбое сетевых протоколов и их потребуется сбросить до стандартных значений.
  • Иногда проблема исчезает после удаления и восстановления сетевых драйверов.

Далее в статье будет более подробная пошаговая инструкция по устранению этих проблем.

Физический разъем

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


Стандартные значения DNS-сервера

Возможно ваш компьютер перестал корректно получать адреса днс серверов, и для решения проблемы потребуется выставить их вручную.

  1. Переходим в меню “Пуск”, после этого “Панель управления”, далее “Центр управления сетями и доступом”.
  2. На строке “Подключения:”, столбик “Интернет”, находим значок своего интернет подключения и кликаем на него.
  3. Откроется окно состояния, в нем находим кнопку “свойства” и прожимаем ее.
  4. Вкладка “Сеть”, в списке находим “Протокол Интернета версии 4” и выделяем “Свойства”.
  5. В открывшемся окне ставим флажок около значения “Использовать установленные адреса DNS серверов” и прописываем адреса.
  6. Предпочтительный DNS Сервер — 8.8.8.8.
  7. Казуальный DNS Сервер — 8.8.4.4.
  8. Перезагружаем компьютер, проверяем результат.


Удаление сетевых драйверов

Бывает, что проблема кроется в сбое одного из сетевых драйверов. Чтобы долго не искать, в каком именно, мы просто удалим их все. А после перезагрузки операционная система все восстановить их в автоматическом режиме.

  1. Заходим в свойства “Моего компьютера”, в списке слева находим и нажимаем кнопку “Диспетчер устройства”.
  2. Ищем место “Сетевые адаптеры” и по очереди кликаем правой кнопкой мыши на все устройства, которые там располагаются, и выбираем в меню “Удалить”.
  3. После перезагрузки проблема должна исчезнуть.


Сброс TCP/IP и Winsock протоколов

  1. Комбинация клавиш “Win+R” открываем строку “Выполнить”, прописываем там “cmd”, прожимаем энтер.
  2. В открывшуюся командную строку вписываем: “netsh_interface_ipv4_reset”, “netsh_interface_ipv6_reset”, “netsh_winsock_reset”, “netsh_winsock_reset catalog”.
  3. Если не сработает, меняем нижнее подчеркивание на пробел.
  4. Резет компьютера, и в большинстве случаев проблема решена.


Выключаем “NetBIOS”

  1. Переходим “Пуск”, после этого “Панель управлений”, далее “центр управления общим доступом”.
  2. На строке “Подключения:”, столбик “Интернет”, находим значок своего интернет-подключения и кликаем на него.
  3. Откроется окно состояния, в нем находим кнопку “Свойства” и прожимаем ее.
  4. Вкладка “Сеть”, в списке находим “Протокол Интернет (TCP/IPv4)”, выделяем “Свойства”, находим кнопку “Дополнительно”.
  5. Во вкладке “WINS” (последняя справа) выбираем маячок “Отключаю NetBIOS посредствам TCP/IP”.
  6. Кликаем “Ок”, ребут системного блока и проблема должна решиться.


Удаление стороннего ПО

Одна из частых причин возникновения ошибки — это стороннее программное обеспечение, так или иначе влияющее на протоколы интернет соединений. Не лишним будет попробовать удалить последние приложения, которые вы устанавливали перед появлением проблемы.

  1. Меню “Пуск”, “Панель управления”, “Программы и компоненты”.
  2. Мы видим строку установленного стороннего ПО на вашу операционную систему.
  3. Кликаем на столбец “Установлено”, тем самым упорядочивая программы по времени установки.
  4. Удаляем из последнего любую программу связанную с сетевыми соединениями.
  5. Перезагружаемся и проверяем результат работы.


Восстановление Системы

Если сложно определить, какие программы мешают работе сети, или какие настройки были сбиты, поможет откат системы до работоспособного варианта.

  1. Кнопка “Win”.
  2. Далее в панели управления находим пункт “Восстановление”.
  3. В меню выбираем “Запуск восстановления системы”
  4. Следуем инструкциям помощника восстановления и откатываем систему до момента, когда ошибки не было.


Windows 10: на ноутбуке нет звука
Windows 10: пропали значки/ярлыки с рабочего стола
Windows 10: как сбросить или изменить пароль учетной записи
Windows 10: как проверить жесткий диск HDD/SSD на ошибки


Одной и причин появления данной ошибки может служить сбой протокола TCP/IP, но еще может случится и сбой Windows Sockets API. Поэтому, перед тем, как перейти к решению проблемы, стоит проверить кабель, возможно он отходит или на нем есть дефекты, проверить разъемы сетевых устройств. Если, вдруг, устанавливали драйвера для сетевой карты, то попробуйте их для начала удалить и убедиться, что проблема решена.

В случае, если с кабелем, сетевой картой и разъемами все отлично, то попробуем сбросить TCP/IP и Windows Sockets API. Выполнять данную операцию будем с помощью обычной командной строки, которая открыта от имени администратора.

Способ 2

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




Теперь просто сохраняем настройки и перезагружаем компьютер. Данная проблема будет восстановлена, если была связана с NetBIOS.

Все интернет-пользователи временами сталкиваются с проблемой доступа к сети. Среди множества причин ее возникновения обновление системы до Windows 10. В целом у новой версии недостатков мало, но с 8.1 и 7 подобного не случалось: диагностика проблемы выдает, что отсутствуют один или несколько сетевых протоколов Windows 10.

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


Работа Windows 10 действительно вызывает некоторые нарекания. В частности, относительно обновления драйверов, ненужных владельцам ноутбуков. Временами удивляет TCP/IP при отсутствии видимых проблем с настройкой. Возможно также, что причина ошибки в действиях провайдера, которому для подключения необходимы какие-то дополнительные параметры.

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

Перезапуск WSA

Winsock — сокращение от Windows Sockets API (WSA). Это техническая спецификация, администрирующая доступ ПО Windows к сетевым сервисам, включая TCP/IP. Первое, что делается, когда отсутствуют сетевые протоколы Windows 10 — перезапуск WSA.

  • netsh int ip reset + Enter,
  • netsh winsock reset + Enter.


По окончании выполнения команд система перезагружается, после чего оцениваются результаты. Велика вероятность, что ошибка отсутствующих протоколов больше не появится.



Далее введение двух указанных ранее команд и перезагрузка компьютера повторяются вновь.

Я уже писал, о том, что такое IP-адреса и как проверить, под каким адресом вас видит внешний мир. Однако часто этой информации недостаточно для того, чтобы понять, какой все-таки адрес присвоен вашей сетевой карте, а также провести диагностику проблем подключения. Приведу список команд, которые можно использовать. (также у меня на сайте можно прочитать про визуальную настройку сетевых подключений)

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

Выполнить

Альтернативные способ - нужно нажать клавишу Win (между Ctrl и Alt) и R одновременно, этот способ работает также и на Висте

Появляется окошко, в которое нужно вписать cmd и нажать ОК

Выполнить cmd

Командная строка

Появляется та самая командная строка

В ней можно набирать и "вводить" команды, нажимая Enter. Результаты можно копировать - если нажать правую кнопку можно выделить нужный кусок, далее нужно еще раз нажать правую кнопку мыши.

Команда ping

Первая команда, с которой нужно познакомиться - это ping, проверяющую доступность заданного адреса. Введите команду ping 127.0.0.1. Должно получиться что-то такое (если команда не ping не работает, то, возможно, решить проблему поможет инструкция по исправлению ошибки cmd no command):

C:\Documents and Settings\Администратор>ping 127.0.0.1

Обмен пакетами с 127.0.0.1 по 32 байт:

Ответ от 127.0.0.1: число байт=32 время

Как мы видим, на адрес 127.0.0.1 было отправлено 4 пакета, и они все достигли цели. Что же это был за адрес и почему я был уверен, что пакеты дойдут? Ответ прост - пакеты никуда не отправлялись, а оставались на вашем компьютере. Этот адрес специфичен и используется для loopback - пакетов, не уходящих никуда вовне. Отлично, можем теперь "пропинговать" адрес этого сайта: 212.193.236.38

C:\Documents and Settings\Администратор>ping 212.193.236.38

Обмен пакетами с 212.193.236.38 по 32 байт:

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Статистика Ping для 212.193.236.38:

Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),

Приблизительное время приема-передачи в мс:

Минимальное = 3мсек, Максимальное = 3 мсек, Среднее = 3 мсек

C:\Documents and Settings\Администратор>

Можно заметить только одно отличие - пакеты доходили не мгновенно, а за 3 миллисекунды. Надеюсь, у вас тоже не было никакой задержки при доставке пакетов, а главное - вы не увидели строчки типа

Появление таких строчек означает, что часть пакетов теряется. Это свидетельствует о проблемах на линии или не сервере, к которомы вы обращаетесь.

Команда ipconfig

Следующая важная команда - ipconfig. Введите ее. У меня получилось вот так:

Настройка протокола IP для Windows

Ethernet - Ethernet адаптер:

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз . . . . . . . . . . : 192.168.17.240

C:\Documents and Settings\Администратор>

В данном случае получился адрес 192.168.17.139. Можно этот адрес тоже пропинговать (вы пингуйте свой) - пакеты должны доходить мгновенно. Основной шлюз - это адрес, на который компьютер отправляет пакеты, не найдя подходящего адреса в своей сети. Так, в моем случае все пакеты, кроме пакетов на 192.168.17.* будут отправлены на 192.168.17.240, а тот компьюьтер уже должен решить, что с ними делать и куда их переправлять дальше. Примечание: локальная сеть, то есть те адреса, пакеты на которые не отправляются на шлюз, определяется при помощи маски - нолик на последнем месте и 255 на всех предыдующих как раз и означает, что может буть произвольным последнее число в IP-адресе.

Одно из стандартных действий при поиске проблем подключения - пропинговать свой шлюз. Если пакеты до него не доходят, то, видимо, проблема где-то рядом, например, поврежден или плохо воткнут сетевой шнур. Также стоит знать, где физически находится компьютер с вашим основным шлюзом - у провайдера, где-то в доме, а, может, это - можем в вашей квартире. Примечание: некоторые компьютеры настроены не откликаться на запросы команды ping. Поэтому отсутствие пинга - не стопроцентная гарантия отсутствия связи с адресом.

Более подробную информацию можно получить командой ipconfig /all. У меня получилось:

C:\Documents and Settings\Администратор>ipconfig /all

Настройка протокола IP для Windows

Имя компьютера . . . . . . . . . : sander

Основной DNS-суффикс . . . . . . : MSHOME

Тип узла. . . . . . . . . . . . . : смешанный

IP-маршрутизация включена . . . . : нет

WINS-прокси включен . . . . . . . : нет

Порядок просмотра суффиксов DNS . : MSHOME

Ethernet - Ethernet адаптер:

Описание . . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Controller

Физический адрес. . . . . . . . . : 00-16-D4-63-03-65

Dhcp включен. . . . . . . . . . . : да

Автонастройка включена . . . . . : да

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз . . . . . . . . . . : 192.168.17.240

DHCP-сервер . . . . . . . . . . . : 192.168.17.240

DNS-серверы . . . . . . . . . . . : 212.192.244.2

Аренда получена . . . . . . . . . : 2 февраля 2009 г. 11:00:28

Аренда истекает . . . . . . . . . : 9 февраля 2009 г. 11:00:28

C:\Documents and Settings\Администратор>

Самую полезную информацию я выделил жирным. DHCP-сервер выделил мне динамиеский адрес на основе моего MAC-адреса или физического адреса. Мои DNS-сервера - это 212.192.244.2 и 212.192.244.3.

Другие команды

Команда tracert позволяет проследить путь пакетов от вашего компьютера до цели. Попробуйте, например протрассировать путь до этого сайта: tracert it.sander.su. Строки в выводе трассировки есть точки, через которые проходит пакет на своем пути. Первой точкой будет ваш шлюз. Использование команды tracert позволяет найти источник проблем при связи с каким-либо адресом. Пакеты, посылаемые командой tracert, имеют показатель TTL - time to live - целое положительное число. Каждый маршрутизатор на пути уменьшает этот показатель на 1, если TTL падает до нуля, то трассировка заканчивается. По умолчанию используется начальный TTL равный 30, задать другое значение можно опцией -h.

Посмотреть таблицу маршрутизации можно командой route print, однако я не буду подробно останавливаться на ней - это тема отдельной статьи.

Команда netstat позволяет просмотреть список установленных соединений. В режиме по умолчанию команда пытается преобразовывать все IP-адреса в доманные имена (при помощи службы DNS), что может работать медленно. Если вас устраивает числовой вывод, вызывайте команду netstat -n. Если вас также интересуют открытые порты на вашем компьютере (что означает, что он готов принимать соединения по этим портам), то вызовите команду с ключом -a: например, netstat -na. Можно также вызвать команду netstat -nb, чтобы посмотреть, какие процессы установили соединения. Команда netstat -r эквивалентна команде route print.

Команда netsh позволяет изменить настройки сети через командную строку. Введите команду netsh interface ip show address. У меня получилось:

C:\Documents and Settings\Администратор>ipconfig /all

Настройка интерфейса "Ethernet"

DHCP разрешен: да

Метрика интерфейса: 0

Запоминаем название (Ethernet) и теперь командой netsh interface ip set address name="Ethernet" source=static addr=192.168.0.33 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=30 задаем IP-адрес. Для динамического подключения: netsh interface ip set address name="Ethernet" source=dhcp. На этом сайте также можно прочитать об интерактивной настройке параметров сети

На компьютере может быть установлено довольно много программ и все они резервируют в операционной системе определенный порт для взаимодействия с другим программным обеспечением по сети. В большинстве случаев пользователь заранее знает какой порт использует программа. Это может быть официально зарезервированный порт, под определенный сетевой протокол. Например почтовые программы используют для приема почты протокол POP3 и резервируют порт 110. Бывают неофициально резервируемые порты, например порт 1540 используемый агентом сервера 1С:Предприятие. Информацию об используемых неофициальных портах разработчики программного обеспечения указывают в документации.

Определения порта программы стандартными средствами Windows

Узнать какой порт использует программа в операционной системе Windows можно используя инструменты командной строки - tasklist и netstat. С помощью tasklist узнаем номер идентификатора процесса - PID, затем в netstat находим номер порта этого процесса.

Поиск идентификатора процесса PID

1. Открываем командную строку: сочетание клавиш и вводим команду CMD.

запуск командной строки wondows

2. Запускаем tasklist и находим PID процесса.

Если необходимо отобразить полный список процессов, в том числе служебных и системных, необходимо использовать tasklist без аргументов.

Команда tasklist /fi "status eq running" найдет только те процессы, которые были запущенны программами. Это сократит список процессов и облегчит поиск.

Находим в списке нужную программу, например OneDrive.exe и запоминаем соответствующий PID.

список активных процессов

Поиск порта процесса

Для получения списка используемых портов воспользуемся утилитой командной строки netstat.

B netstat были использованы слtдующие аргументы:

-a - показывает все сокеты, используемые процессами
-o - показывает PID процесса
-n - показывает адреса в числовом формате

В результате будет получен довольно крупный список активных сетевых соединений, среди которых необходимо найти соединение с нужным PID.

список активных сетевых соединений

Чтобы отфильтровать список и сразу найти сетевое соединение с нужным PID перенаправим результаты netstat в утилиту findstr "PID_number", где PID_number - идентификатор искомого процесса.

фильтр списка сетевых соединений по PID

В найденных результатах видно, что процесс c PID 15304 (программа OneDrive.exe) использует несколько сетевых портов: 11906, 11907, 11908.

Обращайте внимание на то, для какого траспортного протокола открыт порт: ТСР или UDP. Это информация будет важна, когда будете пробрасывать порт через межсетевой экран.

Программы для просмотра сетевых соединений

Этот способ подойдет для тех, кто не хочет погружаться в работу утилит командной строки Windows, а желает быстро и просто получить информацию о портах, которые использует программа, в графическом интерфейсе.

Без труда в интернете можно найти 2 бесплатные программы для полчения списка сетевых соединений операционной системы - это "TCPView" и "Curr ports".

TCPView

После запуска программы будет сразу показан список всех сетевых соединений процессов с информацией о протоколе, локальном и удаленном адресе, локальном и удаленном порте соединения. Список можно фильтровать, сортировать и следить за изменениями онлайн. В дополнение к этому можно убить какой-либо процесс или определить кому принадлежит ip-адрес хоста, с которым установлено соединение.

Из мелких недостатков - отсутствие русского языка.

как найти порт в TCPView

CurrPorts

Из плюсов программы следует отметить наличие русского языка. Чтобы русифицировать программу нужно скачать отдельный файл русификации и положить его в папку с программой.

В создании этой статьи участвовала наша опытная команда редакторов и исследователей, которые проверили ее на точность и полноту.

Команда контент-менеджеров wikiHow тщательно следит за работой редакторов, чтобы гарантировать соответствие каждой статьи нашим высоким стандартам качества.

Изображение с названием See Active Network Connections (Windows) Step 1

Изображение с названием See Active Network Connections (Windows) Step 2

Изображение с названием See Active Network Connections (Windows) Step 3

Изображение с названием See Active Network Connections (Windows) Step 4

Изображение с названием See Active Network Connections (Windows) Step 5

Изображение с названием See Active Network Connections (Windows) Step 6

Изображение с названием See Active Network Connections (Windows) Step 7

Изображение с названием See Active Network Connections (Windows) Step 9

Изображение с названием See Active Network Connections (Windows) Step 10

Изображение с названием See Active Network Connections (Windows) Step 11

Изображение с названием See Active Network Connections (Windows) Step 12

Изображение с названием See Active Network Connections (Windows) Step 13

Изображение с названием See Active Network Connections (Windows) Step 14

Изображение с названием See Active Network Connections (Windows) Step 15

Откроется окно командной строки (с черным фоном). В этом окне вы будете вводить команду netstat. Команда вводится с различными опциями, самые популярные из которых приведены ниже.

Изображение с названием See Active Network Connections (Windows) Step 16

Введите netstat -a, чтобы отобразить активные соединения. Эта команда приведет к отображению списка активных TCP-соединений (TCP, transmission control protocol — протокол управления передачей), в котором имени физического компьютера соответствуют локальные адреса, а имени хоста – удаленные адреса. Также будет отображено состояние порта (в режиме ожидания, подключение установлено и так далее). [5] X Источник информации

Изображение с названием See Active Network Connections (Windows) Step 17

Введите netstat -b, чтобы отобразить программы, использующие сетевые соединения. Эта команда приведет к отображению списка, который аналогичен выводимому командой netstast -a, но здесь также отобразятся программы, использующие соединения и порты. [6] X Источник информации

Введите netstat -n, чтобы отобразить IP-адреса. Эта команда приведет к отображению списка TCP-соединений, но вместо имен компьютеров или поставщиков услуг отобразятся реальные IP-адреса. [7] X Источник информации

Изображение с названием See Active Network Connections (Windows) Step 19

Введите netstat /?, чтобы отобразить командные опции. Эта команда приведет к отображению списка всех опций команды netstat. [8] X Источник информации

Изображение с названием See Active Network Connections (Windows) Step 20

Просмотрите активные сетевые подключения. Введя команду netstat, откроется список TCP/UCP-соединений с IP-адресами.

Изображение с названием See Active Network Connections (Windows) Step 21

Изображение с названием See Active Network Connections (Windows) Step 22

Изображение с названием See Active Network Connections (Windows) Step 23

Изображение с названием See Active Network Connections (Windows) Step 24

Откроется окно командной строки (с черным фоном). В этом окне вы будете вводить команду netstat. Команда вводится с различными опциями, самые популярные из которых приведены ниже.

Изображение с названием See Active Network Connections (Windows) Step 25

Введите netstat -a, чтобы отобразить активные соединения. Эта команда приведет к отображению списка активных TCP-соединений (TCP, transmission control protocol — протокол управления передачей ), в котором имени физического компьютера соответствуют локальные адреса, а имени хоста – удаленные адреса. Также будет отображено состояние порта (в режиме ожидания, подключение установлено и так далее). [9] X Источник информации

Изображение с названием See Active Network Connections (Windows) Step 26

Введите netstat -b, чтобы отобразить программы, использующие сетевые соединения. Эта команда приведет к отображению списка, который аналогичен выводимому командой netstast -a, но здесь также отобразятся программы, использующие соединения и порты. [10] X Источник информации

Изображение с названием See Active Network Connections (Windows) Step 27

Введите netstat -n, чтобы отобразить IP-адреса. Эта команда приведет к отображению списка TCP-соединений, но вместо имен компьютеров или поставщиков услуг отобразятся реальные IP-адреса. [11] X Источник информации

Введите netstat /?, чтобы отобразить командные опции. Эта команда приведет к отображению списка всех опций команды netstat. [12] X Источник информации

Изображение с названием See Active Network Connections (Windows) Step 29

Просмотрите активные сетевые подключения. Введя команду netstat, откроется список TCP/UCP-соединений с IP-адресами.

Читайте также: