linux порты

      0

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

Поэтому очень важно знать, какие именно порты в linux открыты на вашем компьютере. Чтобы это узнать есть несколько инструментов, которые мы рассмотрим ниже.
1. netstat — это консольная утилита позволяющая просмотреть сетевые соединения, таблицы маршрутизации и другие параметры сетевых интерфейсов.

Ключи:
-a выводит список всех портов
-l показывает только прослушиваемые порты
-p показывает имя программы и ее PID
-t показывает tcp порты
-u показывает udp порты
-n показывает ip адреса в числовом виде
-s выводит статистику по всем открытым портам

Пример использования:
netstat -a

Виды состояния:

ESTABLISHED — соединение установлено
SYN_SENT — сокет пытается установить соединение
SYN_RECV — начальная синхронизация соединения
FIN_WAIT1 — сокет закрыт, ожидание отключения соединения
FIN_WAIT2 — ожидание отключения удаленной стороны
TIME_WAIT — ожидание после закрытия повторной передачи отключения удаленной стороны
CLOSED — соединение закрыто, сокет не используется
CLOSE_WAIT — удаленный узел отключился, сокет скоро будет закрыт
LAST_ACK — сначала отключилась удаленная сторона, а затем сокет будет закрыт
LISTEN — сокет ожидает входящих соединений
CLOSING — закрытие сокета, точнее сокет закрыт, а затем отключился удаленный узел
UNKNOWN — состояние сокета неизвестно.

2. lsof — утилита, которая предназначена для вывода информации о том, какие файлы используются теми или иными процессами.

Ключи:
-l Идентификатор пользователя(userID) вместо имени пользователя на выходе.
-h Вывести помощь (help).
-t Получить ID процесса (ов).
-U Получить адрес сокета UNIX.
-i Показывает все открытые соединения.

Пример использования:
lsof -i

Узнаем какие процессы работают с портом 80:
lsof -i | grep 80

3. Nmap — мощный сетевой сканер, разработанный для сканирования и пентестинга удаленных узлов.

 
Как открыть порт в linux:
iptables -I INPUT -p tcp -m tcp --dport PORT_NUMBER -j ACCEPT
где PORT_NUMBER — это номер порта, который вы собираетесь открыть.

 
Как закрыть порт в linux:
iptables -A INPUT -p tcp --dport PORT_NUMBER -j DROP
где PORT_NUMBER — это номер порта, который вы собираетесь закрыть.

Можно закрыть порт для определенного интерфейса, например, eth1:
sudo iptables -A INPUT -i eth1 -p tcp --dport PORT_NUMBER -j DROP

Добавить комментарий