Как использовать сканер безопасности NMAP на Linux

Команды терминала Linux помогают пользователям более быстро и комфортно работать с этой операционной системой. Несмотря на визуальные различия cmd и Linux, их функционал схож. Путём введения уникальных команд можно заметно упростить привычные манипуляции с ОС. В этой статье рассказано про управление терминалом Linux, основные команды и их опции.

Команды Linux для навигации в терминале

  1. &&. Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias. Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd. Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear. Очищает окно терминала от всех сообщений.
  5. history. Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man. Отображает руководство по программам и командам Linux. Введите man имя_пакетаили man ваша_команда.
  7. whatis. Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.
Команды Linux для навигации в терминале

ⓘ Traceroute

Traceroute — это служебная компьютерная программа, предназначенная для определения маршрутов следования данных в сетях TCP/IP. Traceroute может использовать разные протоколы передачи данных в зависимости от операционной системы устройства. Такими протоколами могут быть UDP, TCP, ICMP или GRE. Компьютеры с установленной операционной системой Windows используют ICMP-протокол, при этом операционные системы Linux и маршрутизаторы Cisco — протокол UDP.

Traceroute входит в поставку большинства современных сетевых операционных систем. В системах Microsoft Windows эта программа носит название tracert, а в системах GNU/Linux, Cisco IOS и Mac OS — traceroute.

Рассмотрим пример работы программы в операционной системе Windows. Программа tracert выполняет отправку данных указанному узлу сети, при этом отображая сведения о всех промежуточных маршрутизаторах, через которые прошли данные на пути к целевому узлу. В случае проблем при доставке данных до какого-либо узла программа позволяет определить, на каком именно участке сети возникли неполадки. Необходимо отметить, что программа работает только в направлении от источника пакетов и является весьма грубым инструментом для выявления неполадок в сети. В силу особенностей работы протоколов маршрутизации в сети Интернет, обратные маршруты часто не совпадают с прямыми, причём это справедливо для всех промежуточных узлов в трейсе. Поэтому ICMP ответ от каждого промежуточного узла может идти своим собственным маршрутом, затеряться или прийти с большой задержкой, хотя в реальности с пакетами, которые адресованы конечному узлу, этого не происходит. Кроме того, на промежуточных маршрутизаторах часто стоит ограничение числа ответов ICMP в единицу времени, что приводит к появлению ложных потерь.

ⓘ Traceroute

Traceroute — это служебная компьютерная программа, предназначенная для определения маршрутов следования данных в сетях TCP/IP. Traceroute может использовать разные протоколы передачи данных в зависимости от операционной системы устройства. Такими протоколами могут быть UDP, TCP, ICMP или GRE. Компьютеры с установленной операционной системой Windows используют ICMP-протокол, при этом операционные системы Linux и маршрутизаторы Cisco — протокол UDP.

Читайте также:  7 фактов, почему iPhone больше не лучший смартфон

Traceroute входит в поставку большинства современных сетевых операционных систем. В системах Microsoft Windows эта программа носит название tracert, а в системах GNU/Linux, Cisco IOS и Mac OS — traceroute.

Рассмотрим пример работы программы в операционной системе Windows. Программа tracert выполняет отправку данных указанному узлу сети, при этом отображая сведения о всех промежуточных маршрутизаторах, через которые прошли данные на пути к целевому узлу. В случае проблем при доставке данных до какого-либо узла программа позволяет определить, на каком именно участке сети возникли неполадки. Необходимо отметить, что программа работает только в направлении от источника пакетов и является весьма грубым инструментом для выявления неполадок в сети. В силу особенностей работы протоколов маршрутизации в сети Интернет, обратные маршруты часто не совпадают с прямыми, причём это справедливо для всех промежуточных узлов в трейсе. Поэтому ICMP ответ от каждого промежуточного узла может идти своим собственным маршрутом, затеряться или прийти с большой задержкой, хотя в реальности с пакетами, которые адресованы конечному узлу, этого не происходит. Кроме того, на промежуточных маршрутизаторах часто стоит ограничение числа ответов ICMP в единицу времени, что приводит к появлению ложных потерь.

Команда ping

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

Если вы задавались вопросом «Как я могу узнать мой IP адрес и порт?», то мы дадим вам ответ: командой пинг можно как узнать порт компьютера, так и определить его IP.

Также с помощью команды ping можно выполнить такие диагностические задачи, как:

  • измерить время взаимодействия между двумя хостами;

  • проверить IP-адрес конкретного хоста в локальной и глобальной сети;

  • автоматически проверить сетевое устройство (например, когда ping является частью bash-скрипта);

  • проверить пинг до сервера и др.

Подготовительные действия

Сначала хотелось бы уделить время предварительным действиям, поскольку не все юзеры знакомы с принципом работы консоли. Дело в том, что при открытии файла требуется либо указывать точный путь к нему, либо производить запуск команды, находясь непосредственно в самой директории через «Терминал». Поэтому мы советуем для начала просмотреть такое руководство:

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

Просмотр содержимого

Одна из основных функций упомянутой команды — просмотр содержимого различных файлов. Вся информация отображается отдельными строками в «Терминале», а применение cat выглядит так:

Вот так работает cat без применения доступных аргументов. Если же вы просто пропишите в «Терминале»cat, то получите некое подобие консольного блокнота с возможностью записывать нужное количество строк и сохранять их нажатием на Ctrl + D.

Нумерация строк

Сейчас давайте затронем рассматриваемую команду с применением различных аргументов. Начать следует с нумерации строк, а за это отвечает -b.

Удаление повторяющихся пустых строк

Случается так, что в одном документе присутствует множество пустых строк, возникших каким-либо образом. Вручную удалять их через редактор не всегда удобно, поэтому здесь тоже можно обратиться к команде cat, применив аргумент -s. Тогда строка приобретает вид cat -s testfile (доступно перечисление нескольких файлов).

Читайте также:  Новая iOS 11 – ликвидатор 32-битных приложений

Добавление знака $

В операционной системе Linux знак доллара в конце строчки, означает что команда будет выполнена без root прав. Бывает, что нужно добавить символ «$» в конец всех строк документа, для этого нам поможет опция -e script

Небольшой вывод

В итоге можно сказать, что популярная утилита имеет три основных функции:

  1. выводит на экран текст;
  2. перенаправляет стандартный вывод;
  3. добавляет символа $.

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

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

$ ifconfig eth0 nodeone netmask $ route add -net

Здесь для команды route не указывается сам интерфейс, поскольку предполагается, что узлу nodeone соответствует адрес Далее, route «узнаёт», что маршрут нужно проложить именно через eth0 благодаря тому, что системное ядро анализирует все доступные интерфейсы на предмет их конфигурации и сравнивает адрес пункта назначения с сетевой частью сетевых (сконфигурированных) интерфейсов. В данном случае ядро обнаруживает, что eth0 – тот интерфейс (с адресом ), которому соответствует конечный адрес, т. е.

Задание шлюза по-умолчанию:

$ route add default gw eth0

Доступ в локальную сеть Ethernet через сетевой интерфейс eth0:

$ route add -net netmask eth0

Здесь – сеть, к которой нужно установить доступ (маршрут).

Вывод содержимого таблицы маршрутов ядра осуществляется командой route без параметров, для подробных результатов используется опция -ee.

Также можно использовать сокращённую запись для задания маски подсети:

$ route add -net eth0

Следует отметить, что шлюзы, установленные командой route будут существовать до перезагрузки системы. Для их использования на постоянной основе необходимо нужные команды прописать в файле. В Ubuntu это /etc/network/interfaces.

Например для настройки маршрутизации сети через шлюз интерфейс eth0, это команда

$ route add -net  gw eth0

файл /etc/network/interfaces будет выглядеть следующим образом

auto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress ether 00:E0:4C:A2:C4:48netmask up route add -net gw eth0auto eth1iface eth1 inet staticaddress

В Centos/Redhat это файл /etc/sysconfig/network-scripts/route-eth0 для интерфейса eth0 если же название интерфейса другое, то название файла будет route-<название интерфейса>. Если этого файла нет, то его нужно создать. Для настройки выше указанного примера, добавьте в файл следующие строки

 via

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

systemctl restart network

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Похожие посты:

  1. Firewalld, установка и настройка, зоны, NAT, проброс портов
  2. Пользователи и группы в linux. Добавление удаление редактирование пользователей
  3. Команда cat в Linux
  4. Утилита wget в Linux

Команды Linux для управления пользователями

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

  • «useradd» добавляет нового пользователя;
  • «userdel» удаляет указанного пользователя;
  • «usermod» позволяет делать правки в учётной записи пользователя;
  • «passwd» используется для изменения пароля учётной записи. В режиме суперпользователя сбрасывает пароли всех имеющихся профилей;
  • «who» выводит на экран информацию о пользователе, вошедшем в систему.

Что делать с полученной в Nmap информацией

Собственно, а что нам дают все эти открытые порты, все эти службы, все эти компьютеры с FTP и прочим?

Если вы умеете пользоваться только Nmap, то полученная в ней информация вряд ли пригодится. Это только начало пути. Варианты использования полученной информации:

  • если нашли веб-сервер, то для начала можно просто открыть и посмотреть что там. Варианты бывают разные — бывают обычные сайты, которые видны в Интернете по доменному имени, бывают сайты в разной степени готовности начинающих системных администраторов и веб-мастеров. Бывает, можно просто пройтись по каталогам, посмотреть приготовленные файлы, попробовать стандартные пароли для phpMyAdmin и т. д.
  • FTP, SSH и многое прочее можно брутфорсить. Если удастся подобрать пароль, то можно получить доступ к частному FTP или вообще завладеть всем компьютером, если удастся подобрать учётную запись SSH. Ссылки на инструкции по брутфорсу даны в конце статьи.
  • особенно легко, практически голыми руками, можно брать веб-камеры — очень часто там стандартные пароли, которые можно нагуглить по модели камеры.
  • также интересны роутреры. Довольно часто в них стандартные (заводские) пароли. Получив доступ в роутер можно: выполнить атаку человек-по-середине, сниффинг трафика, перенаправить на подложные сайты, на сайты-вымогатели и т. д.
  • зная версии запущенных программ можно попробовать поискать эксплойты для них. Ссылки на материал по эксплойтам также дан в конце статьи.
  • если вы совсем новичок, то рекомендую программу Armitage. Она может: автоматически искать и применять эксплойты, брутфорсить различные службы. У программы графический интерфейс — вообще она довольно простая. Материал по Armitage: «Инструкция по Armitage: автоматический поиск и проверка эксплойтов в Kali Linux».

sed: синтаксический анализ и преобразование текста

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

Данный редактор может быть в том числе пакетным или неинтерактивным редактором. Его функции заключаются в том, что он считывает из файла или из stdin (при наличии каналов) по одной строке за раз. При этом исходный входной файл остается неизменным (так как sed также является фильтром), после чего результаты преобразуются в стандартные выходные данные.

Анатомия типичной sed-команды Linux-терминала

Опции sed:

  • адрес — может быть номером строки, диапазоном или совпадением. Может быть оставлен по умолчанию, либо являться файлом целиком;
  • команда — s:substitute (замена), p:print (печать), d:delete (удалить), a:append (добавить), i:insert (вставить), q:quit (завершить);
  • regex — регулярные выражения;
  • знак-разграничитель — в данном случае необязательно использовать «/», можно также применять  «|» или «:» или любой другой символ;
  • модификатор — его роль может выполнять число n, которое применяет команду к N-му вхождению, g применяет ко всей строке в целом;
  • общие признаки состояния sed — -n (без печати), -e (несколько операций), -f (чтение sed из файла), -i (на месте редактирования).

Полезные примеры sed:

  • sed -n ‘5,9 p’ — печать строк с 5 по 9;
  • sed ‘20,30 s|New|Old|1’ — влияет на 1-е вхождение в стр. 20–30;
  • sed -n ‘$p’ — печать последней строки;
  • sed ‘1,3 d’ — удалить первые 3 строки;
  • sed ‘/^$/d’ — удалить все пустые строки;
  • sed ‘/York/!s/New/Old/’ — заменить всё, кроме  York;
  • kubectl -n kube-system get configmap/kube-dns -o yaml | sed ‘s/8.8.8.8/1.1.1.1/’ | kubectl replace -f -.

В следующей части разберём основные инструменты терминала Linux.

Не смешно? А здесь смешно: @ithumor

Ксения Широкова Перевод материала «Linux Terminal Tools»

LinuxДля начинающихИнструменты командной строкиИнструменты терминала Linux Поделиться