Чтобы понять, как работает пара компьютеров, установивших связь друг с другом по протоколу TCP/IP, нужно знать, что для их взаимодействия устанавливается канал связи (Session), по которому они будут передавать друг другу информацию. Чтобы отправляющий данные компьютер был уверен, что они поступают к соответствующей программе на нужном компьютере, и принимающий компьютер понял, что полученные данные пришли именно с нужного компьютера и для нужной программы, связь устанавливается по схеме сервер-клиент на заранее оговоренном канале связи. Этот канал связи называется «Порт».
Программа на -сервере настроена таким образом, что в режиме запроса от клиентской программы. Другими словами она «слушает» заранее оговоренный порт (канал связи). Клиентская настроена на отправку запросов исключительно по заранее оговоренному порту. Для удобства они нумеруются от 0 до 65535.
Существуют общепринятые , которые закреплены за часто используемыми и популярными программами, например, почтовые программы The Bat и Outlook Express используют порт 110. Вообще, этот порт зарезервирован за всеми программами, соединяющимися с почтовыми серверами. Так, для браузеров зарезервирован свой порт – 80. Он предназначен для просмотра - со всех браузеров.
В процессе работы с компьютером, особенно с анивирусными программами, обеспечивающими защиту доступа в интернет, возникает необходимость самостоятельно, чтобы дать сетевой игре или программе возможность соединения с другими пользователями. Для этого нужно удостовериться, что запрашиваемый таким приложением порт свободен от других приложений, а также запретить антивируснику блокировать данный порт.
Для этого с помощью команды «Выполнить», которая доступна после активации кнопки «Пуск», ввести консольную команду netstat. Чтобы проверить открытый порт самостоятельно и заодно просмотреть
Но, прежде чем начать и приступить к выявлению открытых портов и программы, которые на них висят, я хотел-бы, для общего понимания пояснить простейшим языком, и рассказать вкратце о том, что такое порт и тип программ работающих по типу «Сервер – Клиент »
Что такое порт и тип программ Сервер – Клиент?
Как вы понимаете, я не буду особо глубоко вникать в суть вопроса, и рассказывать на техническом, сложном языке о том, что такое порт, зачем он нужен итд. Я постараюсь коротко и на понятном языке объяснить для заинтересованных людей о том, что это такое и зачем!
Если говорить о вредоносных программах то ситуация выглядит вот так. Имеются две программы «Программа — Сервер » и «Программа – Клиент » Принцип работы подобных вещей такой:
Программа – Сервер : Всегда запускается на компьютере, к которому нужно получить не правомерный доступ.
Программа – Клиент : Запускается самим создателям или просто пользователем с целью управления удаленным компьютером!
Человек используя «Клиент » отправляет нужные ему команды, которые понимает сервер. Сервер в свою очередь принимает команды и выполняет соответствующие действия на удалённом компьютере.
Подобные вредоносные вещи, о которых идёт речь в данный момент имеют названия «BackDoor» Один из типов вредоносного программного обеспечения.
Думаю тут понятно. Сервер запускается на компьютере, который нужно ограбить, клиент запускается на компьютере, с которого происходит атака.
Как происходит подключения?
Что бы «Клиент» имел возможность подключиться к «Серверу» и получить доступ к удалённому компьютеру «Сервер» открывает какой-то «ПОРТ» и ждёт подключения от клиента. Порт может быть открыт любой, но в диапазоне «От 0 до 65535» таковы ограничения протокола «TCP/IP»
В момент запуска «Сервера» происходит следующие: Программа – сервер открывает некий порт, например «3123» когда от клиента приходит запрос на порт «3123», сервер понимает, что это ему и обрабатывает полученные данные.
К слову: Клиент, всегда должен точно знать, на каком порту весит сервер.
Так как существуют и легальные программы, которые используют определённые порты, например почтовые клиенты, всегда забирают себе 25 порт для отправки почты и 110 для приёма. Существует множество других популярных программ и по этой причины для всех популярных вещей зарезервирован диапазон «От 0 до 1023»
Поэтому вредоносные программы редко использую номера портов из диапазона «От 0 до 1023». Если Вы заметили, что, например порт 3123 открыт, и Вы не способствовали его открытию, стоит убедиться, что порт используется легальной программой, в противном же случае стоит найти и завершить программу, которая открыла данный порт…
Как узнать открытые порты и программы, которые их используют?
Как я сказал выше, мы будем узнавать открытые порты средствами «Windows» не используя сторонние программы и тем более online сервисы. Для работы нам понадобится только командная строка.
Запускаем «cmd.exe» получаем список открытых портов, а так же «PID» процессов, которые используют порты. Для этого используем команду «netstat» с параметрами «-a -o» и для удобства сохраняем результат выполнения команды в файл «*.txt» на диск «С:\»
Конечный вариант команды такой:
Default
netstat -a -o > C:\Port.txt
netstat - a - o > C : \ Port . txt |
После нажатия клавиши «Enter» нужно будет немного подождать, не долго.
После выполнения команды на диске «С» появится файл «Port.txt» В этом файле мы можем узнать открытые порты и «PID» процессов, которыми заняты порты.
Просматривая файл можно заметить не один открытый порт на компьютере, а некоторые из них весьма подозрительные. На скриншоте ниже я отметил уже знакомый нам порт «3123» предлагаю посмотреть, какой программой он был открыт.
Для получения имени процесса по его «PID» используем команду «tasklist» и смотрим, что за гадость открыла на нашем компьютере данный порт.
Для справки: Можно было изначально использовать команду «netstat» с параметрами «-a -b» в этом случаи мы сразу получили бы имена процессов.
Результат выполнения команды «tasklist» так же сохраняем в файл на диск, для удобного просмотра.
Default
tasklist > C:\ PID.txt
tasklist > C : \ PID . txt |
в итоге получаем файл «PID.txt» и зная что порт «3123» открыла программа с «PID — 3264» находим его и смотрим имя процесса.
Как видим имя программы «123.exe» не стал фантазировать, решил просто назвать «123» и все))
Сбор информации о файле и портах :
После получения списка открытых портов, можно узнать о них больше информации. Просто воспользуйтесь поиском «google.ru» и смотрите, что пишут о том или ином порте, а затем уже делайте выводы.
Так же ищите в сети названия процессов, которые Вам кажутся подозрительными.
Можно найти много информации и узнать несет за собой такой-то процесс угрозу или нет. Дело в том, что некоторые системные процессы тоже могут открыть какой-то порт для своих целей и убивать их не нужно, так как, это может привести к каким-то сбоям в работе всей системы.
В заключении.
Мы узнали — Как узнать открытые порты
, на компьютере используя команду «netstat
» Вы можете получить больше информации в самой справке по данной команде.
Как я уже говорил выше, можно было просто использовать параметры команды «-a -b» и не париться с получением имени процесса командой «tasklist» Сделал я так специально, что бы вкратце продемонстрировать для общего понимания работу команды «tasklist»
Надеюсь, у меня получилось понятно ответить на вопрос, Как узнать открытые порты. И у Вас больше не возникнет сложностей, если Вам нужно будет узнать открытые порты и программы которые их используют.
Используя стандартные средства Windows, можно проверить, закрыт ли порт, который программа использует для своей работы.
Для того, чтобы выполнить проверку открытых/закрытых портов Windows, необходимо воспользоваться командной строкой. Для ее запуска нажмите сочетание клавиш «Windows+R». После этих действий откроется окно. В нем нужно ввести «cmd». После этого нажмите клавишу «Enter».
На экране появится черное окошко, которое специалисты называют командной строкой Windows. Теперь можно запускать саму утилиту, которая позволит вам просмотреть список закрытых портов. Введите в команду «netstat».
После ввода нажмите клавишу «Enter». В окне командной строки будет отображена информация обо всех открытых портах вашего компьютера. Она будет указана вслед за доменным именем вашего персонального компьютера и отделена от него двоеточием. Учтите, что все порты , которые не указаны в этом списке, являются закрытыми. И если порт, который использует ваше приложение, попал в этот список, то его будет необходимо закрыть, чтобы приложение смогло нормально функционировать.
Обратите внимание
Если предоставленной информации вам окажется недостаточно, то можете изучить все возможности утилиты «netstat», путем запуска ее с ключом –h. Это означает, что в командной строке нужно ввести команду «netstat -h». Затем в появившемся окне вы увидите помощь по программе "netstat".
Полезный совет
Также есть утилита под названием "Windows Worms Doors Cleaner", которая может не только показывать открытые и закрытые порты TCP/UDP, но и самостоятельно закрывать открытый порт. Таким образом, можно дополнительно защитить свой компьютер от различных угроз в интернете, а также многочисленных вирусов. Программа "NetStat Agent 2.0" может заменить встроенный "netstat".
Источники:
- NetStat Agent 2.0
Порой пользователю, желающему максимально полно контролировать свою систему, требуется уточнить, какие именно ы соединений открыты на текущий момент с его компьютера. Эта операция занимает не более нескольких секунд.
Инструкция
Прежде всего, вы можете воспользоваться netstat из стандартного набора Windows XP. Для ее исполнения войдите в Windows и там наберите "netstat 5" (без кавычек). После исполнения команды вы увидите обновляемый каждые 5 секунд (вы можете указать любое ) , содержащий информацию об открытых соединениях, программах, их использующих и портах.
Источники:
- какой порт у меня открыт
На компьютере одновременно работает множество программ. Если программа использует соединение с интернетом, ей выделяется определенный порт. Иногда у пользователя возникает необходимость проконтролировать, какой порт использует та или иная программа .
Инструкция
Необходимость определить, какие использует программа (или какая программа использует порты ), обычно возникает в случае подозрения на заражение компьютера троянской программой. Если вы заметили что-то подозрительное, откройте командную строку: «Пуск» – «Все программы» – «Стандартные» – «Командная строка».
Введите в командной строке команду tasklist и нажмите Enter. Вы получите данные обо всех запущенных в системе процессах. Обратите внимание на PID – идентификатор процесса. Он поможет определить, какая программа использует тот или иной порт.
Наберите в командной строке команду netstat –aon и нажмите Enter. Вы увидите список текущих подключений. В графе «Локальный адрес» в конце каждой строки указан номер порта. В графе PID указаны идентификаторы процессов. Посмотрев номер порта и соответствующий ему PID, перейдите к списку процессов и по номеру идентификатора определите, какой процесс использует этот порт.
Если вы не можете по названию процесса понять, какой программе он принадлежит, воспользуйтесь одной из подходящих в данном случае программ. Например, программой Everest, она же Aida64. Запустите программу, откройте вкладку «Операционная система», выберите «Процессы». В списке процессов найдите нужный вам и посмотрите строку его запуска. Это поможет определить, какой программе принадлежит процесс.
Используйте для той же цели программу AnVir Task Manager. Она позволяет отслеживать все подозрительные процессы, в том числе процессы программ, соединяющихся с интернетом. Все подозрительные процессы выделяются в списке программы красным цветом.
Если вы видите, что порт используется неизвестной вам программой, то при наличии текущего соединения в графе «Внешний адрес» (команда netstat –aon) вы увидите ip-адрес компьютера, с которым установлено соединение. В графе «Состояние» будет стоять значение ESTABLISHED – если соединение присутствует на текущий момент; CLOSE_WAIT, если соединение закрыто; LISTENING, если программа ждет соединения. Последнее характерно для бэкдоров - одной из разновидностей троянских программ.
Источники:
- какие порты использует skype
Фаервол, он же брандмауэр и сетевой экран, предназначен для контроля входящего и исходящего интернет-трафика. От того, насколько правильно настроен фаервол, зависит безопасность работы в сети.
Инструкция
В операционной системе Windows есть встроенный брандмауэр, но его возможности очень ограничены, поэтому лучше пользоваться программой от стороннего производителя. Одной из лучших программ этого типа является Outpost Firewall.
Перед началом настройки откройте главное окно программы. Выберите «Параметры» – «Системные», затем найдите в нижней части вкладки раздел «Глобальные правила и доступ в rawsocket» и нажмите в нем кнопку «Правила».
В открывшемся окне нажмите кнопку «Добавить». В поле «Выберите событие для правила» отметьте птичками пункты «Где протокол», «Где направление» и «Где локальный порт». Ниже, в поле «Описание правила», выберите мышкой «Не определено» в строке «Где протокол» и выберите в открывшемся окошке протокол ТСР.
В поле «Описание правила» нажмите мышкой «Не определено» в строке «Где направление», выберите в типе соединения пункт «Входящее (с удаленного компьютера на ваш компьютер)». В том же поле нажмите «Не определено» в строке «Где локальный порт» и впишите номер порта, который необходимо закрыть.
В поле «Выберите действия для правила» отметьте птичкой «Блокировать эти данные». Нажмите «ОК» - выбранный порт закрыт для входящих соединений. Вы можете закрыть его и для исходящих, выбрав в описанных чуть выше настройках вместо входящего соединения исходящее – «Исходящее (с вашего компьютера на удаленный компьютер)».
Если вы пользуетесь штатным фаерволом Windows, проверьте список исключений: «Пуск» – «Панель управления» – «Брандмауэр Windows» – «Исключения». Снимите птичку с «Удаленного », если вы им не пользуетесь. Вы можете вообще запретить исключения, поставив птичку на вкладке «Общие» в строке «Не разрешать исключения».
Фаервол в Windows 7 имеет больше возможностей, чем в Windows XP, его можно использовать для контроля как отдельных портов, так и заданных диапазонов. Создайте правило для исходящих подключений, при запуске мастера создания правила выберите пункт «Все программы». Нажмите «Далее», в открывшемся окне выберите «Блокировать подключения». Опять нажмите «Далее», выберите профиль и укажите имя правила. Затем в свойствах правила укажите порты , которые брандмауэр должен блокировать. Точно так же создается и правило для входящих подключений.
Интернет-приложения отправляют данные через специальные порты . Сетевой порт - выделяемый системный ресурс, выполняемый на определенном сетевом хосте. Если порт закрыт, программа не сможет выйти в сеть, а потому не сможет корректно выполнять свои функции.
Источники: Википедия, Майкрософт, portscan.ru
Как узнать, какие порты открыты на компьютере?
- Для Windows: Пуск → «cmd» → Запустить от имени администратора → «netstat -bn»
- В антивируснике, таком как Avast, есть возможность посмотреть активные порты в Брандмауэре: инструменты -> Брандмауэр -> Сетевые соединения.
Также полезные команды netstat:
To display both the Ethernet statistics and the statistics for all protocols, type the following command:
netstat -e -s
To display the statistics for only the TCP and UDP protocols, type the following command:
netstat -s -p tcp udp
To display active TCP connections and the process IDs every 5 seconds, type the following command:
nbtstat -o 5
To display active TCP connections and the process IDs using numerical form, type the following command:
nbtstat -n -o
Для сокетов TCP допустимы следующие значения состояния:
CLOSED | Закрыт. Сокет не используется. |
LISTEN (LISTENING) | Ожидает входящих соединений. |
SYN_SENT | Активно пытается установить соединение. |
SYN_RECEIVED | Идет начальная синхронизация соединения. |
ESTABLISHED | Соединение установлено. |
CLOSE_WAIT | Удаленная сторона отключилась; ожидание закрытия сокета. |
FIN_WAIT_1 | Сокет закрыт; отключение соединения. |
CLOSING | Сокет закрыт, затем удаленная сторона отключилась; ожидание подтверждения. |
LAST_ACK | Удаленная сторона отключилась, затем сокет закрыт; ожидание подтверждения. |
FIN_WAIT_2 | Сокет закрыт; ожидание отключения удаленной стороны. |
TIME_WAIT | Сокет закрыт, но ожидает пакеты, ещё находящиеся в сети для обработки |
Список наиболее часто используемых портов