Как посмотреть на Linux открытые порты — описание способов

Команда find — невероятно мощный инструмент, и его изучение может здорово вас выручить. Данные знания помогут вам эффективно выполнять различные задачи системного администрирования, такие как управление дисковым пространством, рекурсивные файловые операции и резервное копирование.

Как работает Nmap?

В компьютерных сетях все подключенные устройства имеют свой ip адрес. Каждый компьютер поддерживает протокол ping, с помощью которого можно определить подключен ли он к сети. Мы просто отправляем ping запрос компьютеру, и если он отзывается, то считаем, что он подключен. Nmap использует немного иной подход. Компьютеры также определенным образом реагируют на те или иные сетевые пакеты, утилита просто отправляет нужные пакеты и смотрит какие хосты прислали ответ.

Но об этом вы, наверное, уже знаете. Более интересно то как Nmap узнает какие сервисы запущены на машине. Суть работы всех сетевых программ основана на портах. Чтобы получить сообщение из сети, программа должна открыть порт на вашем компьютере и ждать входящих соединений. А для отправки сообщения по сети нужно подключиться к уже другой программой (адресатом) порту. Затем программе необходимо будет открыть порт, на котором она будет ждать ответа.

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

Читайте также:  Для чего файлам нужны расширения имени – основные типы

Примеры использования команды find

Теперь давайте посмотрим на несколько примеров использования команды find в Linux, которые помогут вам в быстром изучении данной утилиты.

Поиск по названию (-name)

Вот простой пример. Следующая команда ищет файл в текущем каталоге:

$ find . -name "" ./

где:

  • . (точка) — означает что файл относится к текущему каталогу
  • -name — указывает критерии, которые должны быть сопоставлены. В данном случае название файла

В данном примере критерий -name учитывает регистр и игнорирует файл Чтобы гарантировать, что ваш поиск нечувствителен к регистру, используйте -iname :

$ find . -iname "" ./ ./

Чтобы найти все .jpg файлы изображений в текущем каталоге, используйте шаблон подстановки *.jpg:

$ find . -name "*.jpg" ./ ./ ./ ./ ./moodle/ ./

Вы можете использовать имя каталога для поиска. Например, чтобы найти все изображения в формате .jpg в каталоге /home:

$ find /home -name "*.jpg" find: `/home/ubuntu/.ssh’: Permission denied /home/vagrant/ /home/vagrant/ /home/me/ find: `/home/me/testfiles’: Permission denied find: `/home/me/data’: Permission denied /home/me/ find: `/home/me/.cache’: Permission denied

Если вы видите слишком много ошибок, связанных с отказом в разрешениях (Permission denied), вы можете добавить опцию 2> /dev/null в конце команды. Она перенаправляет сообщения об ошибках на устройство /dev/null и дает более чистый вывод:

find /home -name "*.jpg" 2>/dev/null /home/vagrant/ /home/vagrant/ /home/me/ /home/me/

Поиск по типу файла

С помощью критерия -type вы можете искать файлы по типу. Типы файлов могут быть:

  • f — простой файл
  • d — директория
  • l — символические ссылки
  • b — блочные устройства (dev)
  • c — символьные устройства (dev)
  • p — именованные каналы
  • s — сокеты

Например, при использовании -type d будут перечислены только каталоги:

$ find . -type d . ./.ssh ./.cache ./moodle

Поиск по размеру файла

Возможно, вам потребуется найти большие файлы и удалить их. В следующем примере за критерием размера файла следует строка +1G. Это приведет к поиску всех файлов размером более 1 ГБ.

$ find . -size +1G ./Microsoft_Office__ ./

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

Символ Единица измерения
с Байт
k Килобайт
M Мегабайт
G Гигабайт

Поиск пустых каталогов и файлов

Используйте критерий -empty чтобы найти пустые каталоги и файлы:

$ find . -empty ./ ./datafiles ./ … ./.cache/

Поиск по времени изменения файла

Вы можете искать все файлы и каталоги в зависимости от времени создания или изменения с помощью опции -cmint. Для поиска всех файлов, измененных за последние 60 минут (менее 60), используйте -60 :

$ find . -cmin -60 . ./ ./datafiles

Для файлов, измененных в любое время до последних 60 минут, используйте +60.

Поиск по времени доступа

Вы можете искать файлы по времени последнего доступа с помощью опции -atime. Например, следующая команда ищет файлы, к которым не обращались в течение последних 180 дней:

$ find . -atime +180

Их можно переместить на устройство резервного копирования, если на диске не хватает места.

Поиск по имени пользователя

С помощью опции -user username вы можете искать все файлы и каталоги, принадлежащие пользователю. Например, следующая команда ищет все файлы и каталоги, принадлежащие пользователю ubuntu, в каталоге /home:

$ find /home -user ubuntu 2>/dev/null /home/ubuntu /home/ubuntu/.bash_logout /home/ubuntu/.bashrc /home/ubuntu/.ssh /home/ubuntu/.profile

Поиск по режиму

Хотите искать файлы, настроенные для определенного режима, то есть иметь определенный набор разрешений? Используют критерий -perm. В следующем примере выполняется поиск файлов с разрешениями 777:

$ find /home -perm 777

Статистика открытых сетевых соединений в Linux через команду «netstat»: описание ее атрибутов

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

Читайте также:  Какой дистрибутив Linux выбрать для игр?

Как добавить пользователя в группу Linux — описание способов

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

Статистика открытых сетевых соединений в Linux через команду «netstat»: описание ее атрибутов
  • «-l / —listening» — проверка прослушиваемых соединений;
  • «-p / —program» — отображение названия программы и ее PID’а;
  • «-t / —tcp» — отображение TCP-соединений;
  • «-u / —udp» — отображение UDP-соединений;
  • «-n / —numeric» — показ IP-адресов в виде чисел.

Важно! Если соединение открытое и ожидает подключения, то оно обладает типом «listen» и рядом с ним будет указан айпи-адрес, используемый для выполнения этого подключения. Значение IP может быть любым (*/0.0.0.0) или конкретным (в этом случае оно будет указано).

Пример использования «netstat»

Заключение

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

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

Статья была переведена отсюда.