net-utility
Утилиты для анализа сети
nmap
Утилита nmap (Network Mapper) - это утилита для сканирования сети и анализа безопасности. Она позволяет проверять доступные хосты, обнаруживать открытые порты, определять службы, запущенные на хостах, а также выполнять другие сетевые операции, такие как определение операционной системы и анализ сетевого трафика.
# Сканирование открытых портов на конкретном хосте:
nmap <адрес_хоста>
# Сканирование определенного диапазона портов на хосте:
nmap -p <диапазон_портов> <адрес_хоста>
# Сканирование хостов в заданном диапазоне IP-адресов:
nmap <диапазон_IP-адресов>
# Определение операционной системы на удаленном хосте:
nmap -O <адрес_хоста>
# Сканирование всех хостов в сети:
nmap <адрес_сети/подсети>
curl
Утилита curl — это командная строковая утилита, которая используется для взаимодействия с различными сетевыми протоколами. Она позволяет отправлять HTTP-запросы, загружать и выгружать файлы, устанавливать соединения по протоколам FTP, SMTP, POP3, IMAP и многим другим.
# Получение содержимого веб-страницы:
curl <URL_веб-страницы>
# Сохранение содержимого веб-страницы в файл:
curl -o <имя_файла> <URL_веб-страницы>
# Отправка POST-запроса на сервер:
curl -X POST -d "param1=value1¶m2=value2" <URL_сервера>
curl -X POST -d "username=user&password=pass" https://api.example.com/login
# Отправка запроса PUT для загрузки файла на веб-сервер:
curl -X PUT --upload-file localfile.txt https://www.example.com/upload
# Установка заголовка запроса:
curl -H "HeaderName: HeaderValue" <URL_веб-ресурса>
curl -H "Authorization: Bearer token" https://api.example.com/data
# Отправка запроса HEAD для получения заголовков страницы:
curl -I https://www.example.com
# Загрузка файла с использованием авторизации:
curl -u username:password -O https://www.example.com/secure/file.txt
# Отправка запроса с использованием прокси-сервера:
curl -x proxy.server.com:8080 https://www.example.com
# Перенаправление вывода в файл:
curl <URL_веб-страницы> > output.html
HTTPie
Утилита HTTPie - это командная строковая утилита, предназначенная для отправки HTTP-запросов и взаимодействия с веб-серверами. Она является альтернативой для утилиты curl, но предоставляет более простой и интуитивно понятный синтаксис.
Ниже приведены некоторые основные функции и возможности утилиты HTTPie:
- Отправка HTTP-запросов: HTTPie позволяет отправлять HTTP-запросы на указанные URL-адреса. Вы можете указывать различные методы запроса (например, GET, POST, PUT, DELETE) с помощью понятного синтаксиса.
- Читабельный вывод: HTTPie предоставляет читабельный вывод HTTP-ответов. Он форматирует и выводит ответы в удобочитаемом формате, с подсветкой синтаксиса и структурированным представлением заголовков и содержимого.
- Настройка заголовков и данных запроса: HTTPie позволяет легко настраивать заголовки запроса, добавлять пользовательские заголовки и отправлять данные формы. Он также поддерживает форматы данных, такие как JSON и XML.
- Аутентификация: HTTPie поддерживает различные методы аутентификации, включая базовую аутентификацию и аутентификацию с помощью токенов или ключей. Вы можете указать учетные данные для аутентификации в запросах.
- Удобный синтаксис: HTTPie предоставляет простой и интуитивно понятный синтаксис, который легко читается и понимается. Это делает его более доступным для новичков и обеспечивает удобство использования.
- Расширенные возможности: HTTPie имеет дополнительные возможности, такие как сессии, возможность отправки потокового контента, длительные запросы (long-polling) и другие.
#синтаксис для использования httpie:
http [options] [METHOD] URL [ITEM [ITEM]]
# Основное использование httpie — предоставить URL в качестве аргумента:
http example.com
# Отправка метода HTTP
http GET devops-docs.akulovs.ru
Ping
Ping - это утилита сетевой диагностики, которая используется для проверки доступности узлов (хостов) в компьютерных сетях и измерения задержки (задержки времени) в сети. При выполнении команды ping, устройство отправляет специальные ICMP (Internet Control Message Protocol) эхо-запросы (ICMP Echo Request) на указанный хост и ожидает ответных ICMP эхо-ответов (ICMP Echo Reply).
Вот как работает процесс ping:
- Утилита ping отправляет ICMP эхо-запрос на указанный хост, указывая его IP-адрес в пакете запроса. Пакет содержит также другую информацию, включая идентификатор пакета и временную метку.
- Хост-получатель получает ICMP эхо-запрос и обрабатывает его. Затем хост-получатель формирует ICMP эхо-ответ и отправляет его обратно на устройство-отправитель.
- Устройство-отправитель получает ICMP эхо-ответ и измеряет время, прошедшее с момента отправки запроса до получения ответа. Это время измеряется как задержка или пинг (ping) и отображается в виде времени отклика (round-trip time, RTT).
- Утилита ping выводит результаты теста в командной строке, показывая статус доступности хоста и временной отклик в миллисекундах. Если хост доступен и отвечает на запросы, результаты покажут низкую задержку времени отклика. Если хост недоступен или не отвечает, результаты будут отражать ошибку "Host Unreachable" или "Request Timed Out".
# Проверка доступности хоста:
ping google.com
# Отправить определенное количество пакетов:
ping -c 10 example.com
# Ping всех устройств в указанной подсети
ping -b -c 4 192.168.1.255
traceroute
Traceroute - это утилита сетевой диагностики, которая позволяет отслеживать маршрут, который пакеты данных проходят от отправителя к указанному хосту или IP-адресу в сети. Она помогает определить промежуточные узлы (маршрутизаторы) и время, требуемое для доставки пакетов до каждого из них.
Traceroute работает путем отправки серии пакетов данных с постепенным увеличением значения TTL в заголовке IP-пакета. Каждый промежуточный маршрутизатор, через который проходит пакет, уменьшает значение TTL на 1 и при достижении нуля отбрасывает пакет и отправляет обратное сообщение (ICMP Time Exceeded) обратно отправителю. Таким образом, можно проследить путь до конечного пункта и измерить время отклика от каждого узла.
При использовании утилиты traceroute вы увидите список промежуточных узлов, через которые проходят пакеты данных, а также время задержки (ping) до каждого узла. Это позволяет определить, какие узлы находятся на пути следования пакетов и где возможно возникают задержки или проблемы.
# Основная команда:
traceroute google.com
# Отключение разрешения IP в имена узлов:
traceroute -n example.com
# Указание максимального количества «прыжков»:
traceroute -m 30 google.com
dig
Утилита dig (Domain Information Groper) является командной строковой утилитой для выполнения запросов к DNS-серверам. Она предоставляет информацию о доменных именах, записях DNS и других связанных данных.
# Получение информации о домене
dig google.com
# Для получения только основных данных используйте запрос с флагом +short
dig google.com +short
# Запрос MX-записи
dig ya.ru MX +noall +answe
# Запрос NS-записи
dig ya.ru NS +noall +answer
# Использование определённого DNS-сервера
dig @8.8.8.8 google.com +noall +answer