На какие открытые порты нужно обращать внимание
Я упоминал, что если на компьютер попала вредоносная программа, которая открыла соединение для связи со злоумышленником, то она будет прослушивать один из портов. В этом случае для TCP состояние подключения будет LISTENING или ESTABLISHED. Протокол UDP является «безстатусным», поэтому для него ничего не пишется, но нужно знать, что через UDP точно также может происходить обмен информацией.
Нужно помнить, что легитимные службы, которые открыты для доступа из вне, могут быть подвергнуты атакам, например, брут-форс пароля или эксплуатация уязвимостей. Что касается вредоносных программ, то они могут использовать любые порты
Поэтому нет готового списка портов, на которые нужно обращать внимание. Любой порт может быть признаком проблемы с безопасностью компьютера.
Нужно проверить, какие именно файлы и службы открыли соединение
Если исполнимый файл, открывший сетевого соединение, размещён в сомнительном месте, в папках, куда обычно не устанавливают программы, то нужно особое внимание обратить на этот файл.. Трояны и бэкдоры могут действовать двумя методами:
Трояны и бэкдоры могут действовать двумя методами:
- открывать порт и ждать подключения злоумышленника;
- самостоятельно подключаться к удалённой системе злоумышленника.
При втором варианте состояние подключения НЕ будет LISTENING — вредоносную программу можно найти только путём полного анализа всех соединений.
Как правило, службы, которые прослушивают только IP адрес 127.0.0.1, то есть слушающие на петлевых интерфейсах, предназначены для обслуживания каких-либо легитимных программ, запущенных на вашей системе.
Идентификация сетевых процессов
Для того, чтобы однозначно иметь представление о конкретных процессах или демонах, слушающих соединения (порты) в системе, следует воспользоваться ключами -l и -p. Первый позволяет выводить, собственно, только слушающие порты, второй — для идентификации процесса/демона, например:
$ sudo netstat -lp
Активные соединения с интернетом (only servers) Proto Recv-Q Send-Q Local Address ForeignAddress State PID/Program name tcp 0 0 localhost:mysql 0.0.0.0:* LISTEN 1154/mysqld tcp6 0 0 :http :* LISTEN 1201/apache2
Как можно видеть, в данном выводе веб-сервер (один из его процессов) прослушивает по протоколу tcp6 все HTTP-соединения. Демон MySQL прослушивает локальный порт mysql по протоколу tcp. Для того, чтобы иметь возможность видеть номера самих портов, а также IP-адреса хостов, следует к команде netstat -lp добавить ключ n. Стоит также отметить, что для получения полной информации о слушающих процессах нужно запускать команду netstat от имени суперпользователя. Если не используется опция -n и не работает служба DNS, то netstat будет выполняться очень медленно.
Мониторинг сети с помощью других утилит
Самая мощная программа для мониторинга сети — это iptraf. Она предоставляет всю необходимую для администраторов информацию. Но, кроме нее, существуют и другие продукты. Рассмотрим их более подробно.
1. iftop
Утилита имеет более простой интерфейс и отображает намного меньше информации. Она выводит ip адреса отправителя и получателя, а также количество переданных или полученных данных за несколько последних секунд:
Установить программу в Ubuntu можно командной:
Хотя здесь отображается информация по каждому соединению, программа не может идентифицировать программу, которая создает пакеты.
2. nload
nload — это очень простая утилита, которая отображает только скорость входящих и исходящих соединений. Это позволяет сделать примитивный анализ сети linux и определить нагрузку. Отображается текущая скорость, максимальная и минимальная скорость за период работы. Также данные о скорости выводятся в виде графика, поэтому вам будет достаточно беглого взгляда, чтобы понять что происходит.
Для установки программы в Ubuntu используйте команду:
3. nethogs
Nethogs — это достаточно интересная утилита для мониторинга сетей, которая выделяется среди других. С помощью нее можно посмотреть какой процесс создает тот или иной трафик. Здесь отображаются PID процессов и имена пользователей, отсортированные по занимаемой пропускной способности сети:
Программа, как и другие доступна из официальных репозиториев, поэтому у вас не возникнет проблем с установкой:
4. bmon
Утилита bmon позволяет отображать достаточно подробно статистику по каждому сетевому интерфейсу. Она работает похоже на nload и выводит график кроме текстовой информации:
Для установки программы выполните:
5. Vnstat
Vnstat отличается от всех инструментов, рассмотренных выше. Программа работает постоянно в фоновом режиме и собирает информацию об использовании сети в лог файл. Далее можно посмотреть какой была нагрузка за определенный период. Для установки утилиты выполните:
Далее необходимо запустить сервис, для этого выполните такую команду:
Далее необходимо немного подождать, пока утилита соберет данные и можно просматривать статистику:
Здесь будет отображаться информация о нагрузке на сеть с указанием дат и периодов. Также вы можете посмотреть доступную информацию в реальном времени. Для этого используйте опцию -l:
Видео про использование и настройку vnstat:
6. bwm-ng
Это еще одна утилита, очень простая в использовании, которая позволяет следить за сетевой нагрузкой в режиме реального времени. Отображаются все доступные сетевые интерфейсы в системе:
Для установки утилиты выполните такую команду:
7. speedometer
Это еще один простой инструмент, который позволяет выполнить мониторинг сети и выводит данные в виде красивых графиков. Для установки программы выполните:
Как видите, она есть в официальных репозиториев не всех дистрибутивов, зато вы можете установить программу из репозитория python.
Опция -r указывает интерфейс, с которого необходимо отображать количество полученных пакетов, а опция -t — отправленных.
8. netwatch
Netwatch — это небольшая утилита, которая входит в набор инструментов Netdiag и показывает сетевые соединения между локальной и удаленными системами, а также скорость, с которой будут передаваться данные. Для установки программы используйте:
Затем для запуска:
9. ifstat
Утилита ifstat показывает пропускную способность сети, измеряя количество переданных и принятых пакетов. Вывод утилиты можно использовать и анализировать в других программах. Утилита не выводит информацию об ip адресах или других параметрах, а только скорость. Для установки используйте:
Для запуска:
10. trafshow
Это утилита, очень похожа на iftop, которая отображает не только скорость передачи, но и сами соединения. Здесь выводится информация по соединениях, размеры пакетов и протокол. Для установки программы наберите:
Осталось запустить программу:
Синтаксис и опции netstat
Синтаксис команды
netstat
-a | Показывать состояние всех сокетов; |
-o | Показывать таймен |
-i | Показывает состояние сетевых интерфейсов |
-n | Показывать ip адрес, а не сетевое имя |
-r | Показать таблицы маршрутизации. При использовании с опцией -s показывает статистику маршрутизации. |
-s | Показать статистическую информацию по протоколам. При использовании с опцией -r показывает статистику маршрутизации. |
-f семейство_адресов | Ограничить показ статистики или адресов управляющих блоков только указанным семейством_адресов, в качестве которого можно указывать:inet Для семейства адресов AF_INET, или unix Для семейства адресов AF_UNIX. |
-I интерфейс | Показывать информацию о конкретном интерфейсе. |
-p | Отобразить идентификатор/название процесса, создавшего сокет (-p, —programs display PID/Program name for sockets) |
Ключи можно комбинировать. Самая распространенная команда использования netstat это:
netstat -nap
Эта команда выводит довольно большой список. Поэтому для получения нужной информации используйте grep. Например для получения всех портов которые слушаются в системе.
netstat -nap | grep LISTEN
Контроль сетевых соединений
Используя опцию -i можно получить данные о состоянии сетевых интерфейсов системы, а также основных счётчиков трафика. Вывод предоставляется в виде наглядной таблицы с соответствующими столбцами. Формат самой таблицы зависит от используемой системы. К примеру, в Ubuntu, да и вообще в Debian-ориентированных системах он будет примерно таким:
$ netstat -i
Таблица интерфейсов ядра Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP eno1 1500 1876 127 0 0 9253 223 0 lo 6553 6529 0 0 0 6529 0 0
В данном выводе видно, как ведёт себя интерфейс eno1, через который осуществляется соединение в сеть, а также что происходит с интерфейсом обратной связи lo. В столбцах RX/TX приводится статистика по трафику с указанием количества пакетов, в том числе и пакетов с ошибками. В частности, показатель RX свидетельствует о количестве пакетов, полученных интерфейсом, TX – о количестве пропущенных через этот интерфейс пакетов с момента загрузки системы или первичной активации (задействования) интерфейса.
Количество ошибок (RX-ERR, TX-ERR) как правило, не должно быть больше 1% (в некоторых случаях 5%) от общего числа пакетов. Если ошибок больше, то следует проанализировать этот параметр на других компьютерах. Большое количество ошибок в сети (на других компьютерах) свидетельствует о неполадках в окружении сети. На отдельном компьютере излишнее их (ошибок) количество говорит о неполадках с сетевым интерфейсом (сетевая карта) или с самим соединением (кабели, совместимость оборудования).
Как в Windows узнать, какая программа прослушивает порт (используя CMD)
Открытых для прослушивания портов может оказаться достаточно много и обычно они используются легитимными программами
Поэтому при анализе полученных данных также важно знать, какая именно служба прослушивает определённый порт.. Для поиска службы, можно добавить к команде NETSTAT опцию -b, которая означает показать исполнимый файл, прослушивающий порт:
Для поиска службы, можно добавить к команде NETSTAT опцию -b, которая означает показать исполнимый файл, прослушивающий порт:
netstat -anb
Также имеется альтернативный способ определения исполнимого файла, привязанного к порту. Для него откройте Командную строку Windows. Для этого нажмите сочетание клавиш Win+x, там выберите Windows PowerShell (Администратор). В открывшемся окне введите:
cmd
чтобы переключиться на Windows Console Host (обычную командную строку).
Там запустите команду вида:
for /f "tokens=1,2,3,4,5*" %i in ('netstat -aon ^| findstr ":80" ^| findstr /i listening') do echo %j %l & @tasklist | findstr %m
Эта команда найдёт службы, которые прослушивают 80 порт. Чтобы найти информацию о другом порте, замените в команде цифру 80 на интересующий вас порт.
Пример вывода в моём случае:
C:\Windows\system32>echo 0.0.0.0:80 LISTENING & 0.0.0.0:80 LISTENING httpd.exe 3576 Services 0 16 764 КБ C:\Windows\system32>echo :80 LISTENING & :80 LISTENING httpd.exe 3576 Services 0 16 764 КБ
Запись 0.0.0.0:80 означает, порт 80 для любых IPv4 адресов прослушивает служба httpd.exe (веб-сервер Apache). А запись :80 — означает, что порт 80 для любых IPv6 адресов прослушивает та же самая служба httpd.exe (веб-сервер Apache). Мы ещё вернёмся к более подробному анализу данных далее в этой статье.
Менять порт в длинной команде не всегда удобно, поэтому рекомендую создать текстовый файл с именем port.bat, в этот файл скопируйте:
@ECHO OFF for /f "tokens=1,2,3,4,5*" %%i in ('netstat -aon ^| findstr ":%1" ^| findstr /i listening') do echo %%j %%l & @tasklist | findstr %%m
Сохраните и закройте этот файл.
Теперь в Windows PowerShell или в командной строке Windows с помощью команды cd перейдите в папку, куда вы сохранили файл. Например, я его сохранил в папку C:\Users\Alex\Documents\, тогда для перехода туда я выполняю:
cd C:\Users\Alex\Documents\
Теперь запустите файл командой вида:
.\port.bat ПОРТ
Где ПОРТ замените на интересующий вас порт, например, меня интересует порт 80, тогда:
.\port.bat 80
Вновь получаю аналогичный результат.
Если у вас множество портов прослушивает процесс svchost.exe, то чтобы разобраться, какие именно это службы, смотрите статью «Почему svchost.exe прослушивает много портов? Как узнать, какие именно программы открыли порты».
Что делать, если такой сервис, как nginx, не запущен?
Включите службу systemd:
Запустите службу nginx:
Мы можем остановить или перезапустить службу следующим образом:
Проверить, включена ли служба или нет, запустить:
Снова просмотреть статус:Чтобы увидеть полные выходные данные для проблемы службы -full или -l:
Мы может отлаживать и просматривать все сообщения журнала, относящиеся к службе, с помощью команды journalctl:
Aug 02 03:51:05 utls-wp-mg-www-cbz systemd: Stopped A high performance web server and a reverse proxy server. Aug 02 03:51:15 utls-wp-mg-www-cbz systemd: Starting A high performance web server and a reverse proxy server... Aug 02 03:51:15 utls-wp-mg-www-cbz systemd: nginx.service: Control process exited, code=exited, status=1/FAILURE Aug 02 03:51:15 utls-wp-mg-www-cbz systemd: nginx.service: Failed with result 'exit-code'. Aug 02 03:51:15 utls-wp-mg-www-cbz systemd: Failed to start A high performance web server and a reverse proxy server. Aug 02 03:51:48 utls-wp-mg-www-cbz systemd: Starting A high performance web server and a reverse proxy server... Aug 02 03:51:48 utls-wp-mg-www-cbz systemd: nginx.service: Control process exited, code=exited, status=1/FAILURE Aug 02 03:51:48 utls-wp-mg-www-cbz systemd: nginx.service: Failed with result 'exit-code'. Aug 02 03:51:48 utls-wp-mg-www-cbz systemd: Failed to start A high performance web server and a reverse proxy server. Aug 02 03:52:07 utls-wp-mg-www-cbz systemd: Starting A high performance web server and a reverse proxy server... Aug 02 03:52:07 utls-wp-mg-www-cbz systemd: nginx.service: Control process exited, code=exited, status=1/FAILURE Aug 02 03:52:07 utls-wp-mg-www-cbz systemd: nginx.service: Failed with result 'exit-code'. Aug 02 03:52:07 utls-wp-mg-www-cbz systemd: Failed to start A high performance web server and a reverse proxy server. Aug 02 03:53:05 utls-wp-mg-www-cbz systemd: Starting A high performance web server and a reverse proxy server... Aug 02 03:53:05 utls-wp-mg-www-cbz systemd: Started A high performance web server and a reverse proxy server. Aug 04 04:11:47 utls-wp-mg-www-cbz systemd: Stopping A high performance web server and a reverse proxy server... Aug 04 04:11:48 utls-wp-mg-www-cbz systemd: nginx.service: Succeeded. Aug 04 04:11:48 utls-wp-mg-www-cbz systemd: Stopped A high performance web server and a reverse proxy server. -- Reboot -- Aug 04 04:27:35 utls-wp-mg-www-cbz systemd: Starting A high performance web server and a reverse proxy server... Aug 04 04:27:35 utls-wp-mg-www-cbz systemd: Started A high performance web server and a reverse proxy server.
top
Команда показывает, что происходит с вашими активными процессами. По умолчанию она отображает самые ресурсоемкие задачи, запущенные на сервере, и обновляет список каждые пять секунд. Вы можете отсортировать процессы по PID (идентификатор процесса), времени работы, можете сначала указывать новые процессы, затраты по времени, по суммарному затраченному времени, а также по используемой памяти и по общему времени использования процессора с момента запуска процесса. Я считаю, что это быстрый и простой способ увидеть, что некоторый процесс начинает выходить из-под контроля и из-за этого все движется к проблеме.
Пример анализа открытых портов
Я начну с анализа открытых портов на Linux. Просто потому, что мне так проще, а затем мы постепенно перейдём изучить открытые порты на Windows.
Пример информации об открытых портах, полученных командой:
sudo ss -tulpn
Пример прослушиваемых портов на Linux:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 10.0.2.15%enp0s3:68 0.0.0.0:* users:(("NetworkManager",pid=318,fd=17)) udp UNCONN 0 0 127.0.0.1:5300 0.0.0.0:* users:(("tor",pid=359,fd=7)) tcp LISTEN 0 128 127.0.0.1:9040 0.0.0.0:* users:(("tor",pid=359,fd=8)) tcp LISTEN 0 128 127.0.0.1:8118 0.0.0.0:* users:(("privoxy",pid=362,fd=3)) tcp LISTEN 0 128 127.0.0.1:9050 0.0.0.0:* users:(("tor",pid=359,fd=6)) tcp LISTEN 0 128 127.0.0.1:9475 0.0.0.0:* users:(("httpd",pid=553,fd=5),("httpd",pid=552,fd=5),("httpd",pid=551,fd=5),("httpd",pid=550,fd=5),("httpd",pid=549,fd=5),("httpd",pid=360,fd=5)) tcp LISTEN 0 128 *:80 *:* users:(("httpd",pid=553,fd=4),("httpd",pid=552,fd=4),("httpd",pid=551,fd=4),("httpd",pid=550,fd=4),("httpd",pid=549,fd=4),("httpd",pid=360,fd=4)) tcp LISTEN 0 128 *:22 *:* users:(("systemd",pid=1,fd=55)) tcp LISTEN 0 128 *:443 *:* users:(("httpd",pid=553,fd=7),("httpd",pid=552,fd=7),("httpd",pid=551,fd=7),("httpd",pid=550,fd=7),("httpd",pid=549,fd=7),("httpd",pid=360,fd=7)) tcp LISTEN 0 80 *:3306 *:* users:(("mysqld",pid=427,fd=21))
В выводимых данных имеются следующие поля:
- 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)).
Для вывода прослушиваемых портов и уже установленных сетевых подключений используйте следующую команду:
sudo ss -tupn
Способ 2: Утилита tracert
Другая системная утилита под названием tracert предназначена для выполнения трассировки, то есть показывает, с какой скоростью проходит запрос от компьютера до маршрутизатора. Применять эту команду следует в тех ситуациях, когда основная цель — определить стабильность соединения роутера с компьютером и понять, не возникает ли проблем беспроводной сети или LAN.
- Для выполнения этого метода снова придется запустить «Командную строку». В ней введите и нажмите Enter. По тому же принципу, как это было с предыдущей утилитой, для трассировки можно использовать любой домен или IP-адрес.
Начнется процесс трассировки маршрута, который может занять определенное время. Не закрывайте консоль до окончания проверки.
В процессе можно сразу же просматривать, с какой задержкой проходит маршрутизация.
Далее на экране появится уведомление, свидетельствующее об успешном окончании проверки.
Командой узнайте о дополнительных аргументах, доступных для применения во время маршрутизации.
Результаты можно сравнить с той же утилитой ping. Чем меньше разброс в задержке и чем она сама меньше, тем стабильнее соединение. Если пакеты вообще не отправились, следовательно, соединение нарушено и понадобится искать решение, проверяя роутер на работоспособность.
Подробнее: Проверка роутера на работоспособность
Как узнать IP-адрес чужого или всех подключённых к локальной сети компьютеров
Определение IP-адреса других устройств, которые находятся в данный момент в локальной сети, отнимет больше времени и усилий. Выполнять будем всё через ту же «Командную строку». Рассмотрим также способ с использованием ПО от сторонних разработчиков.
Через «Командную строку»
На этот раз в редакторе будем выполнять другие команды для вывода адреса:
- Для начала определимся, адрес какого конкретного юзера сети мы хотим узнать. С этой целью запускаем любую страницу «Проводника Виндовс». На левой панели с основными разделами находим и открываем ссылку «Сеть».
- В правой зоне «Проводника» должны появиться все устройства, подключенные в текущий момент к внутренней сети. Ищем нужного юзера и запоминаем название его ПК.
- Перечень девайсов в сети может показать также «Командная строка». Для этого запускаем на дисплее консоль через панель «Выполнить» и команду cmd. Вбиваем в редактор формулу nbtstat -n и жмём на «Энтер». Ищем необходимый чужой компьютер.
- Теперь в чёрном редакторе набираем формулу по типу ping . Например, имя у компьютера apresn-pc, соответственно полностью команда будет выглядеть как ping apresn-pc. Для выполнения жмём как всегда на «Энтер».
- Ваш компьютер начнёт обмениваться пакетами с юзером, информацию о котором вы запросили. В итоге отобразится конечный IP-адрес другого пользователя.
Возможно, вам необходимо определить адреса IP всех компьютеров из локальной сети. В этом вам также поможет консоль:
- Запускаем интерфейс строки через «Выполнить» либо «Пуск», а затем пишем короткую формулу arp -a.
- Даём старт выполнению через клавишу «Энтер».
- Внутренний сканер «операционки» проверит сеть и при наличии каких-либо устройств покажет их на дисплее: вы увидите адреса IP в первой колонке и физические адреса во второй.
С помощью сканирования сети сторонними утилитами
Не всегда стандартные средства «Виндовс» помогают в поиске IP-адресов девайсов, которые находятся в вашей внутренней сети. Для таких случаев сторонними разработчиками были созданы специальные утилиты-сканеры. Одно из таких приложений — программа Advanced IP Scanner от компании Famatech. Утилита бесплатная и имеет две версии: та, что устанавливается, и портативная (то есть которая работает без предварительной инсталляции).
Advanced IP Scanner показывает не только IP-адреса, но и названия устройств
Кроме поиска девайсов в сети, в возможности этой программы входит предоставление доступа к общим каталогам и FTP-серверам, удалённое управление устройствами через Radmin и RDP и даже дистанционное отключение ПК.
Где её скачать и как ей пользоваться, расскажем в инструкции:
У Advanced IP Scanner есть много аналогов: Angry IP Scanner, SolarWinds, Free IP Scanner, Spiceworks IP Scanner, Nmap и другие.
Видео: как использовать утилиту Advanced IP Scanner
Узнать свой адрес во внутренней сети можно легко с помощью стандартных средств «Виндовс» — через «Центр управления сетями и общим доступом» и чёрный редактор «Командная строка». Последняя утилита подойдёт также для определения комбинаций чисел, которые действуют для других компьютеров в этой же внутренней сети. Если у вас не получается получить информацию с помощью встроенных инструментов, используйте сторонние утилиты, например, Advanced IP Scanner, Nmap, SolarWinds или любой другой сканер.
sar
Программа является инструментальным средством мониторинга, столь же универсальным как швейцарский армейский нож. Команда , на самом деле, состоит из трех программ: , которая отображает данные, и и , которые собирают и запоминают данные. После того, как программа установлена, она создает подробный отчет об использовании процессора, памяти подкачки, о статистике сетевого ввода/вывода и пересылке данных, создании процессов и работе устройств хранения данных. Основное отличие между и в том, что первая команда лучше при долгосрочном мониторинге системы, в то время, как я считаю, лучше для того, чтобы мгновенно получить информацию о состоянии моего сервера.
Посмотреть сетевые соединения
Если дать команду netstat без параметров, то будет выведен список процессов (демонов), для которых установлены сетевые соединения. Если нужно также получить информацию о процессах, которые активных соединений не имеют, но слушают порты, нужно использовать ключ -a:
$ netstat -а
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address ForeignAddress State tcp 0 0 *:ldap *:* LISTEN tcp 0 0 *:mysql *:* LISTEN tcp 0 0 *:imaps *:* LISTEN tcp 0 0 bull:ssh dhcp:4208 ESTABL tcp 0 0 bull:imaps nubark:54195 ESTABL tcp 0 0 bull:http dhcp:2563 ESTABL tcp 0 0 bull:imaps dhcp-18hw:2851 ESTABL
Данный вывод включает в себя также и информацию о системных сокетах UNIX и UDP. Как видно, в представленном отчёте зафиксировано входящее SSH-соединение, два входящих соединения IMAPS, одно входящее HTTP-соединение, а также несколько портов, которые «слушают» (LISTEN) другие соединения. Адреса в данном выводе представлены в формате имя_хоста:служба, где в качестве службы может выступать порт. В колонках Recv-Q и Send-Q отображается количество запросов в очередях на приём и отправку на данном узле/компьютере. Следует также отметить, что факт установки соединения проверяется только для протокола TCP. Кроме описанных состояний соединений имеются также и некоторые другие:
- TIME_WAIT – ожидание на завершение соединения;
- SYN_SENT – попытка некоторого процесса установить соединение с недоступным ресурсом или сервером;
- SYN_WAIT – состояние, при котором данный узел не может обработать все поступающие запросы. Зачастую это может свидетельствовать об ограничении возможностей системного ядра, либо о попытках намеренно вызвать перегрузку на сервере.
Выявление утечек VPN
Когда используется тестовый сайт IPleak.net, достаточно легко выявить утечки и проблемы, особенно при подключении к серверу VPN за пределами вашей страны. Тест на утечки WebRTC показывает локальный IP-адрес (который обычно начинается с номеров 10.xxx или 192.xxx, а иногда отображается локальный буквенно-цифровой адрес IPv6). Это не утечки, а ваши локальные IP-адреса. Если вы видите настоящий публичный адрес IPv4 или IPv6 в разделе WebRTC, тогда это утечка WebRTC.
Ниже выполняется тестирование популярного сервиса VPN на утечки. Происходит подключение к серверу в Великобритании, при этом наблюдается утечка персональных данных.
Несмотря на наличие активного и стабильного подключения, у этого сервиса наблюдаются утечки IPv6, DNS и WebRTC.
В результатах тестирования выше можно увидеть, что пользовательский адрес IPv4 совпадает с адресом IPv4 сервера, то есть утечка IPv4 отсутствует. Зато есть следующие утечки:
- Утечка IPv6.
- В разделе «Адреса DNS» можно обнаружить утечку DNS.
- В разделе WebRTC отображается настоящий адрес IPv6, что означает утечку WebRTC.
Теперь давайте посмотрим на пример сервиса без утечек.
Тест VPN без утечек
Ниже можно увидеть результаты тестирования провайдера NordVPN.
NordVPN прошёл все тесты без утечек.
На изображении показано, что утечки отсутствуют и адрес IPv4 совпадает с адресом VPN. IPv6 заблокирован и утечек нет, утечки WebRTC тоже отсутствуют. Зашифрованные DNS-преобразователи сервиса NordVPN обрабатывают все запросы DNS. Это идеальные результаты тестов полностью без утечек.