28 марта, 2024

Основы Linux.Часть 30 ( Использование Ship для быстрого получения информации об IP-адресах в удобном виде )

Содержание:

Независимо от того, относитесь ли вы к белошляпным, черношляпным хакерам или являетесь каким-то оттенком между ними, навигация по сети является основной частью хакинга. Для этого нам нужно иметь возможность исследовать сеть, чтобы обнаруживать адреса шлюзов, интерфейсов и адреса подключенных устройств. Когда ifconfig уже недостаточно, то вашему серфингу по сети поможет удобный инструмент под названием Ship — скрипт для всего, что связано с IP.

Что такое Ship

Написанный Сотириосом Русси (Sotirios Roussis — https://github.com/xtonousou), Ship представляет собой чемодан для «shell» и «IP», и это в буквальном смысле скрипт shell’а, который отображает сетевые адреса. Однако это описание не дает ему правильной оценки. Ship — очень удобный инструмент. Нам нравится рассматривать его как некий универсальный магазин для базовой сетевой разведки и работы с адресами.

Ship может отображать все: от IP-адреса шлюза до IP-адресов и MAC-адресов всех активных устройств в сети. Он может делать простые вещи, такие как ping и traceroute, а также более сложные вещи, такие как прослушивание портов и вычисление двоичной и шестнадцатеричной информации об IP-адресе. Синтаксис команд у Ship прост и понятен, и мы рекомендуем его всем, кто регулярно шурует в Wi-Fi сетях через терминал.

Шаг 1. Скачивание и установка Ship

В этой статье мы используем Black Arch Linux, поэтому если вы используете Kali или другой дистрибутив Linux, то команды могут немного отличаться.

В зависимости от того, какие репозитории проверяет ваш диспетчер пакетов, вы можете установить Ship непосредственно с помощью обычного apt-get или эквивалентной команды. В нашей системе все было не так, поэтому мы расскажем о том, как установить Ship вручную.

Сначала нам нужно установить соответствующие зависимости. Для этого используем эту команду в Black Arch:

pacman -S gawk grep iproute2 mtr iputils sed traceroute wget

Если вы используете систему на базе Debian, такую ​​как Kali, то эта команда должна работать точно также, но нужно будет заменить pacman -S на apt-get install и iputils — на iputils-ping.

Читать также:  Как установить VPN на Mac

В нашем случае все эти пакеты уже были установлены, но лишний раз проверить не помешает. Если у вас эти зависимости тоже уже установлены, то эта команда просто обновит их версии, что тоже хорошо.

После того как мы установим все зависимости, нам нужно будет клонировать репозиторий из GitHub. Мы решили сделать это в корневой директории нашей Linux-системы, поэтому репозиторий будет скачен в /root/ship. Чтобы скачать Ship прямо из Github-репозитория откройте терминал и выполните следующую команду:

git clone --branch = master https://github.com/xtonousou/ship.git

Эта команда скачает скрипт shell’а — ship.sh в /root/ship. В том виде, в каком это есть сейчас, мы не сможем вызывать Ship, просто набрав в консоли команду ship. Чтобы сделать это возможным, перейдите в каталог с Ship’ом при помощи команды cd /root/ship, а затем скопируйте ship.sh и переименуйте его в просто ship, введя cp ship.sh ship в терминале.

Это позволит нам вводить в консоли ship вместо того, чтобы каждый раз набирать ship.sh. Затем, чтобы добавлять его в переменную PATH каждый раз, когда запускается терминал, воспользуйтесь этой командой:

echo 'export PATH=/root/ship:$PATH'>>~/.bashrc

Шаг 2. Ship для быстрой работы с адресами

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

На скриншоте ниже вы можете увидеть, что внутренний беспроводной адаптер нашего ноутбука называется wlo1. Если нам, например, нужен IP-адрес этого интерфейса, то введите ship -4 или ship -6 для адресов IPv4 или IPv6, соответственно. Мы также можем найти внутренний (приватный, private) IP-адрес сетевого шлюза, набрав ship -g.

Читать также:  Как за 5 секунд обойти антивирусы с помощью одной Python-команды

Но пока в этом нет ничего особенного, всю эту информацию мы можем легко получить с помощью ifconfig или ip a, хотя для нашего удобства Ship будет отображать эти данные более сжато. Но давайте перейдем к более крутым штукам, которые Ship может для нас делать, например, быстро отображать все устройства в текущей подсети. Введите ship -H или ship -HM (чтобы заодно отобразить соответствующий MAC-адрес устройства), и вы увидите таблицу всех активных сетевых хостов, как на скриншоте ниже.

Кроме того, вы также можете быстро узнать ваш внешний IP-адрес, набрав ship -e. Также можно использовать эту же команду вместе с URL-адресами для того, чтобы найти IP-адрес, связанный с конкретным веб-сайтом. Для этого нужно набрать ship -e url, а вместо «url» просто укажите сайт, IP-адрес которого вы хотите получить.

Шаг 3. Прослушивание портов при помощи Ship

Ship может в реальном времени отображать информацию обо всех внешних IP-адресах, к которым вы подключаетесь через определенный порт. Набрав ship -p номер_порта, Ship отобразит табличку IP-адресов и количество открытых соединений, которые обновляются каждые несколько секунд. На скриншоте ниже мы протестировали это на 80-м порту, выведя на экран все активные соединения с этим портом.

Все IP-адреса справа являются исходящими через 80-й порт соединениями. Мы можем видеть подключение к Google, если посмотрим в браузере на последний IP-адрес (216.58.193.206), который перенаправляет нас на Google.ru.

Шаг 4. Калькуляция IP-информации

Если вам нужно преобразовать IP-адрес в двоичный или шестнадцатеричный вид, то для этого вы можете ввести команду ship -c IP_адрес. Это также отобразит нам множество других сведений, включая маску подсети, класс сети, связанный с этим адресом, и максимальное количество хостов, которое может поддерживать сеть.

Читать также:  В ядре Linux обнаружена опасная 0-day уязвимость Dirty COW (CVE-2016-5195)

Мы попробовали использовать эту команду с несколькими разными IP-адресами различных классов. Ship указывает, принадлежит ли IP-адрес частной сети и принадлежит ли он классу A, B, C, D или E.

Следует отметить, что вы можете использовать эту команду вместе с CIDR-нотацией. Например, когда мы набираем 10.1.1.1/16, то Ship правильно вычисляет маску подсети 255.255.0.0 и максимальное количество хостов, которое должно быть 65 534, в отличие от стандартного количества в 255 штук в обычной сети класса C — 198.192.xx/24. Это может рассказать нам о цели сети, которую мы изучаем.

Ship может разрешать вопросы сети

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

Имейте в виду, что Ship организует работу других инструментов, которые работают «под капотом». При этом нужно помнить, что некоторые из этих инструментов могут оставлять логи в маршрутизаторе, брандмауэре или системе обнаружения вторжений. Хотя сканирование само по себе обычно не является незаконным, оно часто рассматривается как подготовка к атаке и может быть заблокировано хорошо защищенной сетью.

Если у вас есть какие-либо вопросы, то задавайте их в комментариях.

Предыдущие статьи ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 23 , 25 , 26 , 27 , 28 , 29).

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