Хитрости, которые сэкономят время
Этот список полезных знаков позволит вам в разы ускорить работу с командами:
- — повторяет последнюю команду;
-
— позволяет изменить команду, сохраняя последний аргумент:
- — используется, если файл слишком длинный, чтобы поместиться на экране;
- — используется для повторного открытия в меньшем объёме;
-
—позволяет изменить команду, сохраняя при этом все аргументы:
- — при использовании должен быть хвост;
- — нет необходимости вводить остальную часть команды;
- — используется для создания пустого файла или очистки существующего.
- — позволит определить, к каким скриптам идёт обращение со стороны веб-сервера.
Статистика открытых сетевых соединений в Linux через команду «netstat»: описание ее атрибутов
Это базовая утилита линукс, которая не требует скачивания и установки, так как имеется практически во всех дистрибутивах операционной системы. Она позволяет быстро проверить доступность порта на Linux и показать открытие сетевые соединения.
Пользоваться командой можно и безо всяких атрибутов, но для максимально подробного отображения нужной информации без них не обойдись. Параметры у утилиты следующие:
- «-l / —listening» — проверка прослушиваемых соединений;
- «-p / —program» — отображение названия программы и ее PID’а;
- «-t / —tcp» — отображение TCP-соединений;
- «-u / —udp» — отображение UDP-соединений;
- «-n / —numeric» — показ IP-адресов в виде чисел.
Важно! Если соединение открытое и ожидает подключения, то оно обладает типом «listen» и рядом с ним будет указан айпи-адрес, используемый для выполнения этого подключения. Значение IP может быть любым (*/0.0.0.0) или конкретным (в этом случае оно будет указано)
Пример использования «netstat»
Открываем порт 80
Данный канал является главным для передачи данных между ПК и Всемирной сетью по протоколу http. Порт 80 не освободить вышеописанным способом, так как он контролируется специальным системным драйвером http.sys.
На этот раз мы обратимся к командной строке.
- Открываем командную строку известным способом и вводим команду «netsh http «add iplisten ipaddress=::» (без кавычек) и жмем Enter».
- Второй шаг – это внесение изменения в файл блокнота hosts, находящийся по пути «C:WindowsSystem32driversetchosts». В нем необходимо добавить запись «127.0.0.1 local» (без кавычек). После этого перезагрузить свой ПК и проверить статус порта 80.
- Если это не помогло, то открываем меню «Пуск/Панель управления/Программы/Программы и компоненты» и нажимаем на «Включение или отключение компонентовWindows».
- Отключаем службы IIS, снимая все галочки с пунктов.
Перезагружаем компьютер и опять проверяем доступность 80 порта.
Как настроить переадресацию портов?
Трафик, который проходит через ваш маршрутизатор, проходит через порты. Каждый порт подобен специальной трубе, предназначенной для определенного вида трафика. Когда вы открываете порт на маршрутизаторе, он позволяет определенному типу данных перемещаться через маршрутизатор.
Открытие порта и выбор устройства в сети для пересылки этих запросов называется переадресацией портов. Переадресация портов аналогична подключению канала от маршрутизатора к устройству, которое должно использовать порт — между ними есть прямая видимость, что позволяет передавать данные.
Например, FTP-серверы прослушивают входящие соединения через порт 21 . Если у вас настроен FTP-сервер, к которому никто из вашей сети не может подключиться, откройте порт 21 на маршрутизаторе и перенаправьте его на компьютер, который вы используете в качестве сервера. Когда вы делаете это, этот новый выделенный канал перемещает файлы с сервера, через маршрутизатор и из сети на клиент FTP, который связывается с ним.
То же самое относится и к другим сценариям, таким как видеоигры, которым нужен интернет для связи с другими игроками, торрент-клиенты , которым для загрузки файлов требуются определенные порты , и приложения для обмена мгновенными сообщениями, которые отправляют и получают сообщения только через определенный порт.
Каждому сетевому приложению нужен порт для запуска, поэтому, если программа или приложение не работают, когда все остальное настроено правильно, откройте порт на маршрутизаторе и перенаправьте запросы на нужное устройство (например, компьютер, принтер, или игровая приставка).
Переадресация диапазона портов аналогична переадресации портов, но используется для переадресации всего диапазона портов. Например, определенная видеоигра может использовать порты с 3478 по 3480, поэтому вместо того, чтобы вводить все три в маршрутизатор как отдельный порт для переадресации, перенаправьте весь этот диапазон на компьютер, на котором запущена эта игра.
Ниже приведены два основных шага, которые необходимо выполнить для переадресации портов на маршрутизаторе. Поскольку каждое устройство отличается от других и существует множество вариантов маршрутизатора, эти шаги не относятся к конкретному устройству. Если вам нужна дополнительная помощь, обратитесь к руководству пользователя для устройства, например, к руководству пользователя для вашего маршрутизатора.
IP-маскарадинг
IP Masquerading — это вариант NAT (трансляция сетевых адресов) в ядре Linux, который преобразует сетевой трафик путем перезаписи исходных и целевых IP-адресов и портов. С помощью IP Masquerading вы можете разрешить одной или нескольким машинам в частной сети связываться с Интернетом, используя одну машину Linux, которая действует как шлюз.
Настройка IP-маскарадинга с помощью UFW включает несколько шагов.
Во-первых, вам нужно включить переадресацию IP. Для этого откройте файл :
Найдите и раскомментируйте строку :
/etc/ufw/sysctl.conf
Затем вам нужно настроить UFW, чтобы разрешить пересылку пакетов. Откройте файл конфигурации UFW:
Найдите ключ и измените значение с на :
/etc/default/ufw
Теперь вам нужно установить политику по умолчанию для цепочки в таблице и правило маскарада. Для этого откройте файл и добавьте строки, выделенные желтым, как показано ниже:
Добавьте следующие строки:
/etc/ufw/before.rules
Не забудьте заменить в строке чтобы он соответствовал имени публичного сетевого интерфейса:
Когда вы закончите, сохраните и закройте файл.
Наконец, перезагрузите правила UFW, отключив и снова включив UFW:
Как проверить открытые порты в Linux с соответствующим сервисом-процессом?
Существуют различные способы, с помощью которых можно определить открытые порты прослушивания на Linux.
1. Проверка открытых портов в Linux с помощью команды NETSTAT
В основной форме команда NetStat выводит на экран или печатает информацию о сетевых подключениях и таблицу маршрутизации и т.д. Однако та же команда вместе с параметром ниже может быть использована для проверки открытых портов в Linux.
Команда:
netstat -tulpn | grep LISTEN
Вывод:
# netstat -tulpn | grep LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 904/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 866/master tcp6 0 0 :::80 :::* LISTEN 1086/httpd tcp6 0 0 :::22 :::* LISTEN 904/sshd tcp6 0 0 ::1:25 :::* LISTEN 866/master #
Вот команда выше отображает все выходные TCP, а также порты UDP. В случае, если вы хотите отфильтровать его дальше, допустим, вы хотите узнать, процесс или услугу, используемую по порту 80, следуют использовать команду ниже.
# netstat -tulpn | grep LISTEN|grep 80 tcp6 0 0 :::80 :::* LISTEN 1086/httpd #
В приведенной выше командной порт используется HTTPd службы с PID 1086.
2. Проверка открытых портов в Linux с помощью утилиты lsof
Утилита lsof в основном отображает список открытых файлов. Однако с некоторыми настройками параметров мы можем в состоянии также проверить открытые порты в Linux. По умолчанию она не установлена в системе, пожалуйста, следуйте ниже набором команд для установки в соответствии с дистрибутивом Linux.
Для RHEL и CentOS OS #yum install lsof Для Debian и Ubuntu OS #apt install lsof
Команда:
#lsof -i -P -n
Вывод:
# lsof -i -P -n COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME chronyd 513 chrony 1u IPv4 14330 0t0 UDP 127.0.0.1:323 chronyd 513 chrony 2u IPv6 14331 0t0 UDP :323 dhclient 548 root 6u IPv4 15326 0t0 UDP *:68 dhclient 548 root 20u IPv4 15315 0t0 UDP *:41668 dhclient 548 root 21u IPv6 15316 0t0 UDP *:23435 master 866 root 13u IPv4 16678 0t0 TCP 127.0.0.1:25 (LISTEN) master 866 root 14u IPv6 16679 0t0 TCP :25 (LISTEN) sshd 904 root 3u IPv4 17424 0t0 TCP *:22 (LISTEN) sshd 904 root 4u IPv6 17426 0t0 TCP *:22 (LISTEN) sshd 951 root 3u IPv4 17884 0t0 TCP 172.31.22.4:22->103.211.42.2:59572 (ESTABLISHED) sshd 954 ec2-user 3u IPv4 17884 0t0 TCP 172.31.22.4:22->103.211.42.2:59572 (ESTABLISHED) httpd 1086 root 4u IPv6 19036 0t0 TCP *:80 (LISTEN) httpd 1088 apache 4u IPv6 19036 0t0 TCP *:80 (LISTEN) httpd 1089 apache 4u IPv6 19036 0t0 TCP *:80 (LISTEN) httpd 1090 apache 4u IPv6 19036 0t0 TCP *:80 (LISTEN) httpd 1091 apache 4u IPv6 19036 0t0 TCP *:80 (LISTEN) httpd 1092 apache 4u IPv6 19036 0t0 TCP *:80 (LISTEN)
В случае, если вы хотите получить более подробную информацию о порте 80 можно использовать следующую команду:
# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 1056 root 4u IPv6 19036 0t0 TCP *:http (LISTEN) httpd 1057 apache 4u IPv6 19036 0t0 TCP *:http (LISTEN) httpd 1058 apache 4u IPv6 19036 0t0 TCP *:http (LISTEN) httpd 1059 apache 4u IPv6 19036 0t0 TCP *:http (LISTEN) httpd 1060 apache 4u IPv6 19036 0t0 TCP *:http (LISTEN) httpd 1061 apache 4u IPv6 19036 0t0 TCP *:http (LISTEN)
Здесь, в этом выводе вы можете четко отметить, что порт 80 используется службой HTTP, имеющей PID 1056.
3. Проверка открытых портов в Linux с помощью nmap
Nmap является инструментом сканирования порта, используемый в Linux. Он не установлен на системах Linux по умолчанию. Вам необходимо установить его с помощью следующей команды.
yum install nmap
После того, как он установиться, используется команда для проверки открытых портов в Linux.
Команда:
# nmap -sT -O localhost
Вывод:
# nmap -sT -O localhost Starting Nmap 6.40 ( http://nmap.org ) at 2017-09-15 13:59 UTC RTTVAR has grown to over 2.3 seconds, decreasing to 2.0 RTTVAR has grown to over 2.3 seconds, decreasing to 2.0 RTTVAR has grown to over 2.3 seconds, decreasing to 2.0 RTTVAR has grown to over 2.3 seconds, decreasing to 2.0 RTTVAR has grown to over 2.3 seconds, decreasing to 2.0 RTTVAR has grown to over 2.3 seconds, decreasing to 2.0 RTTVAR has grown to over 2.3 seconds, decreasing to 2.0 Nmap scan report for localhost (127.0.0.1) Host is up (0.00023s latency). Other addresses for localhost (not scanned): 127.0.0.1 Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http Device type: general purpose Running: Linux 3.X OS CPE: cpe:/o:linux:linux_kernel:3 OS details: Linux 3.7 - 3.9 Network Distance: 0 hops OS detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 1.66 seconds #
В выводе выше мы можем в состоянии очень легко проверить открытые порты.
В случае, если Вы хотите изучить больше о сетевых команд в Linux следуйте этой статье.
Ручная переадресация портов на роутере TP-Link и Asus.
Для начала нужно определиться с номером порта, который мы хотим открыть. Например, мы хотим сделать проброс портов для торрента. Идем в настройки программы по уже знакомому пути и смотрим в строку «Порт входящих соединений». Запишите номер из окна для генерации и снимите все галочки кроме пункта «В исключения брандмауэра». Не забудьте применить сделанные изменения.
Теперь нужно узнать MAC-адрес своего устройства. В нашем случае это компьютер и его физический адрес нам понадобиться позже. Нажмите кнопку «Пуск» — «Панель управления» — «Центр управления сетями и общим доступом» — «Подключение по локальной сети» и нажмите кнопку «Сведения…». В поле «Физический адрес» вы увидите MAC-адрес своего компьютера.
Теперь зайдите в интерфейс маршрутизатора. Здесь первым делом, нам нужно для своего компьютера задать статический IP-адрес. Далее путь для каждого сетевого устройства свой.
TP-Link. В правом меню найдите «Привязка IP- и MAC-адресов» и перейдите на вкладку «Таблица ARP». Здесь отображены все устройства, которые подключены к нашей сети, а в столбце «Состояние» показан статус привязки (несвязанно). Поскольку мы уже знаем MAC-адрес компьютера, то в строке с физическим адресом видим присвоенный ему IP сервером DHCP. Его мы впишем на следующей вкладке.
Поднимитесь на вкладку выше с названием «Параметры привязки» и активируйте «Связывание ARP» и нажмите «Сохранить». Далее следует нажать кнопку «Добавить новую…» и задать параметры необходимые настройки. В новом окне нужно прописать физический адрес компьютера (MAC), присвоенный ему IP и нажать кнопку «Сохранить».
Теперь MAC- и IP- адреса связаны между собой для персонального компьютера. Об этом также свидетельствует вкладка «Таблица ARP». Если у Вас много устройств в сети и вы желаете им всем задать статический IP, то можно в «Таблице ARP» нажать кнопку «Связать все» предварительно активировав «Связывание ARP».
Осталось задать параметры для проброса портов. Зайдите в «Переадресация» (Forwarding) на вкладку «Виртуальные серверы» (Virtual Servers) и нажмите кнопку «Добавить новую» (Add New…). Теперь прописываем известные нам параметры. В поле «Порт сервиса» (Service Port) и «Внутренний порт» (Internal Port) указываем порт торрент-клиента, а в «IP-адрес» присвоенный IP компьютеру. В выпадающем списке «Протокол» (Protocol) выбираем «Все» (All) и в поле «Состояние» (Status) ставим «Включено» и нажимаем «Сохранить».
После этого для компьютера будет зарезервирован прописанный нами порт и P2P клиент сможет обмениваться входящими и исходящими пакетами.
О принципе по которому работает роутер можно узнать здесь.
Asus. Нажмите в боковом меню «Локальная сеть» и перейдите на вкладку «DHCP-сервер». В самом низу страницы активируйте пункт «Включить назначения вручную». Ниже есть поле «Список присвоенных вручную IP-адресов в обход DHCP». Вот он то нам и нужен. В выпадающем списке поля «MAC-адрес» нужно выбрать физический адрес компьютера, который мы узнали заранее. Поскольку у меня включен DHCP, то в поле «IP-адрес» автоматически подставился текущий IP компьютера.
Осталось кликнуть по кружку «Добавить/Удалить» и нажать кнопку «Применить». Роутер перезагрузится и после каждого подключения к сети, компьютер будет иметь один и тот же IP-адрес.
Теперь в административной панели в боковом меню кликните по «Интернет» и перейдите на вкладку «Переадресация портов». В строке «Включить переадресацию портов» переставьте точку в положение «Да». Далее нужно опуститься в блок «Список переадресованных портов» и в поле «Имя службы» указать uTorrent, поскольку мы открываем порт для этой программы. В строке «Диапазон портов» указываем номер порта P2P клиента, который мы узнали заранее.
В поле «Локальный IP-адрес» выбираем статический IP-адрес компьютера, который мы только что привязали и в строке «Локальный порт» снова указываем порт Torrent-клиента. В выпадающем списке «Протокол» выбираем BOTH (оба протокола). Осталось кликнуть по кружку «Добавить» и кнопку «Применить». После презегрузки порт будет открыт для раздачи и закачки файлов из интернета от программы uTorrent.
Теперь вы имеете представление о том, как настроить проброс портов на роутере TP-Link и Asus. Безусловно автоматический способ намного удобнее, чем ручной и многие люди используют функцию UPnP, но правильнее задавать все настройки в ручную. Однако, это дело каждого и вы вольны выбрать способ, который вам ближе.
Если возникнут какие-то проблемы, то вы всегда можете сбросить установки роутера до заводских и настроить его заново. Если у Вас есть желание дополнить статью, то милости просим в комментарии. Пока!
Профили приложений
Профиль приложения — это текстовый файл в формате INI, который описывает службу и содержит правила брандмауэра для службы. Профили приложений создаются в каталоге во время установки пакета.
Вы можете просмотреть все профили приложений, доступные на вашем сервере, набрав:
В зависимости от пакетов, установленных в вашей системе, вывод будет выглядеть следующим образом:
Чтобы найти дополнительную информацию о конкретном профиле и включенных правилах, используйте следующую команду:
Выходные данные показывают, что профиль «Nginx Full» открывает порты и .
Вы также можете создавать собственные профили для своих приложений.
Как открыть порт в Убунту
Теперь рассмотрим нашу вторую часть сегодняшнего обсуждения. Прежде всего вам потребуется запустить консоль для ввода команд и скриптов. Далее, пробуем следующие две комбинации, которые позволят вам открыть определённый порт. Стоит отметить, что все выполняемые действия производятся на ваш страх и риск, так как они предназначены для опытных пользователей. Любые неверные шаги или же неблагополучные манипуляции могут привести вас к неприятным последствиям. Например, есть вероятность потерять важные файлы и данные или же поломать что-нибудь в строе системы. Приступайте к следующим действиям только при полной уверенности своих сил и возможностей.
Способ первый
Ниже рассматриваются примеры для порта 7777:
- Итак, добавляем в нашу консоль правило: iptables -t filter -A INPUT -i eth0 -p tcp —dport 7777 -j ACCEPT.
- Если так не получилось, то стоит проверить настройки конфигурации файрволла, только потом ввести следующее значение: iptables -L. После этого для открытия нужного порта используете консольную команду: iptables -A INPUT -p tcp —dport 777 -j ACCEPT.
- Если же и эта команда вам не помогла, то воспользуйтесь следующей: sudo iptables -A INPUT -p tcp —dport 7777-j ACCEPT.
Стоит отметить, однако, очень важный момент. Дело в том, что файрволл iptables имеется абсолютно во всех дистрибутивах Linux. Более того, правила их являются также одинаковыми, но зато настройка и запуск может различаться. Вот почему может понадобиться наличие универсального способа. Вероятнее всего, что опытные пользователи не применят его, но вот обычные юзеры вполне могут воспользоваться им.
Способ второй
- Для начала стоит проверить наличие iptables в вашей ОС. Для этого делаем следующую команду в консоли: iptables -list. После этого вы получите необходимые вами данные.
- Наиболее приемлемым вариантом будет закрытие всех портов, необходимых операционке. Далее, устанавливая правила, откройте порты Linux для игры, трансфера документов и веб-сёрфинга. Чтобы сделать это, убедитесь в наличие iptables. После этого создайте файл /etc/iptables.sh с суперпользовательскими правами. Содержание файла будет следующее:
Этот скрипт подходит для всех дистрибутивов Linux, в том числе и Ubuntu. Поэтому можно не волноваться по поводу несовместимости кодов и их работы в операционной системе. Но вдруг если ни один из этих методов вам не помог, потребуется дополнительная диагностика. Например, вы можете посмотреть, не занят ли случайно необходимый порт другим приложением. Если ответ будет положительным, то понадобится закрыть все утилиты, связанные с ним. Только потом можно будет повторить свои попытки со скриптами и кодами.
Просмотр открытых портов в Linux через «tcpdump» и описание атрибутов утилиты
Команда «tcpdump» — это один из самых важных инструментов для специалистов, работающих с информационной безопасностью компьютерных сетей, основанных на линуксе. Если пользователь хочет овладеть всеми тонкостями настройки протоколов TCP и IP, то он должен быть хорошо знаком с функциями «tcpdump».
Далее приведено несколько важных атрибутов этой утилиты, позволяющие проверять свободные портовые соединения и узнавать айпи-адреса служб, использующих их:
- «-nn» — отображение айпи-адресов и номеров портов вместо имени хоста и названия используемого протокола передачи данных;
- «-i any» — прослушивание всем интерфейсов для поиска скрытого тарифа, если таковой имеется;
- «-q» — показ минимальных данных о пакете трафика.
Также есть три выражения: «type», «dir» и «prito». Опции тоже три: хосты, сети и порты. Комбинации для выполнения директорий: «src» и «dst». Протоколы по запросу: TCP, UDP, ICMP, AH и т. д. К примеру, для показа интернет-трафика, который связан с тем или иным портом, необходимо выполнить команду «# tcpdump port 3389», а затем «tcpdump src port 1025». Показ трафика одного протокола выполняется так: «# tcpdump icmp».
Пример использования «tcpdump»