пїЅпїЅпїЅпїЅ пїЅпїЅ
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Испытание на возможность проникновения в систему – это критически важный компонент, который предоставляет отказоустойчивые технологии защиты в рамках организации. Это испытание имитирует попытку атаки на систему, приложение или сеть с целью обнаружить уязвимости до того, как это сделают хакеры.
Зачастую разработчики прибегают к помощи испытаний на возможность проникновения для того, чтобы убедиться, что внутренние ресурсы приложений защищены от несанкционированного доступа. В таком случае тестировщик (или «белый хакер») выступает в роли злоумышленника. Он собирает как можно больше информации о системе, чтобы найти уязвимости, которые могут быть использованы против этой системы. Опираясь на эти результаты, разработчики внедряют решения и даже проводят дополнительное испытание на возможность проникновения в систему, чтобы убедиться, что решения, которые они реализовали, действительно работают.
Этот пример – один из многих. Разработчики обязаны обеспечить безопасность всех критически важных компонентов – операционных систем (ОС), драйверов устройств, сетей, баз данных, фреймворков, пакетов, кода и библиотек. Регулярное выполнение ручных испытаний на возможность проникновение требует больших временных и денежных затрат, поэтому многие организации используют автоматизированные инструменты для того, чтобы иметь возможность проводить более эффективные и быстрые тестирования.
Существует немало инструментов для проведения испытаний на возможность проникновения, и выбор одного подходящего (или нескольких) может показаться не таким простым. В этой статье мы рассмотрим восемь популярных инструментов для проведения испытаний на возможность проникновения в систему, их преимущества и оптимальные сценарии их использования.
Лучшие инструменты для проведения испытаний на возможность проникновения в систему
У каждого инструмента свои методы проведения испытаний, и каждый из них предназначен для определенного сценария использования. Цель создания этого списка состоит не в том, чтобы определить «лучший» инструмент среди всех, а в том, чтобы помочь вам найти подходящий инструмент, который будет удовлетворять всем уникальным потребностям вашего проекта.
1. Metasploit Framework
Metasploit – это фреймворк с открытым исходным кодом. Он сканирует сети и серверы с целью выявить уязвимости, которые могут быть использованы против них. Этот инструмент имеет широкие возможности настройки, содержит огромную библиотеку, состоящую из более чем 1600 эксплойтов и почти 500 полезных нагрузок.
Его проекты развития, осуществляемые по инициативе сообществ, также предлагают автоматизированные инструменты разработки и пост-разработки. С помощью этих инструментов разработчики могут выполнять и наступательные, и оборонительные задачи в области обеспечения безопасности. В Metasploit есть Мастер проверки уязвимостей (Vulnerability Validation Wizard), который перечисляет проблемы безопасности в порядке их важности. Таким образом, разработчики могут установить очередность, в которой следует устранять эти уязвимости.
Metasploit Framework – это инструмент который подойдет любой организации независимо от ее размера. Кроме того, он бесплатный, а его простая в использовании структура только помогает защищать приложения от различного рода уязвимостей.
2. Nmap
Сканирование портов – это довольно распространенная тактика среди киберпреступников, с помощью которой они ищут уязвимости в системе. Злоумышленники находят открытые порты и прочую информацию, которая может оказаться полезной для них, например, хосты и ОС приложений, и создают, таким образом, план атаки. В результате чего, сканеры портов стали неотъемлемой частью многих организаций, их используют для тестирования на возможность проникновения.
Network Mapper (Nmap) сканирует и определяет хосты и службы сети. Этот инструмент довольно популярен и имеет открытый исходный код. С его помощью разработчики могут находить и проверять все открытые порты, которые есть в их системе и которые злоумышленники могут использовать в своих целях. У Nmap есть и другие полезные функции, в том числе обнаружение хостов и определение ОС.
Nmap поддерживает несколько разновидностей и несколько методов сканирования, поэтому его можно считать универсальным инструментом, который можно использовать в различных сценариях. Есть огромное количество руководств и технической документации для сканеров, что может помочь пользователям приступить к его использованию. Кроме того, у него есть большое сообщество, которое совместно работает и предлагает новые решения.
3. sqlmap
sqlmap – это инструмент с открытым исходным кодом, который предназначен для проведения испытаний на возможность проникновения в системы. С его помощью можно автоматически обнаруживать такие уязвимости, как SQL-инъекции, в рамках веб-приложения. Хакеры используют такие уязвимости для взлома приложений.
С помощью sqlmap тестировщики могут выполнять различные атаки путем внедрения SQL-кода для того, чтобы попытаться извлечь конфиденциальную информацию из базы данных. Сюда относятся SQL-инъекции, вызывающие задержку ответа от базы данных, «слепые» SQL-инъекции, SQL-инъекции, основанные на эксплуатации выводимых СУБД сообщений об ошибках, SQL-инъекции, основанные
=
C2
*
$E$2
на добавлении специального подзапроса в уязвимый параметр, на который БД будет отвечать либо true, либо false, и т.д. sqlmap поддерживает огромное количество различных баз данных, в том числе MySQL, PostgreSQL и Oracle. У него есть и другие функции, например, взлом хэшей, сброс таблиц и столбцов, а также получение отпечатков пальцев. sqlmap выполняет тестирование автоматически, а это значит, что все, что нужно сделать пользователям, это запустить его и указать несколько параметров, все остальное он сделает сам.
В отличие от таких инструментов, как Metasploit, которые имеют более общее использование, sqlmap предлагает специализированный подход к проведению испытаний на возможность проникновения. Кроме того, вам не нужно иметь какого-то опыта работы с языками описания сценариев. Вам достаточно знать на базовом уровне, что такое запросы к базе данных.
4. Burp Suite
Burp Suite объединяет в себе полноценные инструменты на базе языка Java, предназначенные для тестирования уровня безопасности веб-приложений. Инструмент тестирования предусматривает прокси-сервер, с помощью которого тестровщики могут перехватывать и изменять HTTP и HTTPS-трафик между браузером и сервером. Кроме того, Burp Suite сканирует на наличие различных уязвимостей, например, подделку межсайтовых запросов (CSRF - cross-site request forgery), SQL-инъекции и межсайтовый скриптинг (XSS - cross-site scripting). Помимо всего прочего, инструменты Burp Suite помогают управлять запросами и ответами, анализировать поведение приложения и автоматизировать некоторые задачи.
У Burp Suite есть бесплатная версия Community, которая предлагает базовые функции, в том числе сканер, прокси-сервер и инструменты злоумышленника. Для того, чтобы пользоваться версиями Professional и Enterprise, необходимо оформить годовую подписку. В этих версиях содержатся более мощные усовершенствованные функции. И тем не менее, все три варианта просты в использовании и поддерживают как ручное, так и автоматическое динамическое тестирование.
5. OWASP ZAP
OWASP Zed Attack Proxy (ZAP) – это тоже инструмент на базе Java, а если точнее, сканер веб-приложений (как и Burp Suite). С помощью автоматических сканеров ZAP пользователи могут обнаруживать такие уязвимости, как SQL-инъекции и XSS.
Кроме того, OWASP ZAP предлагает различные усовершенствованные функции для разработки сценариев атак, перехвата и изменения трафика и создания отчетов. Все эти функции позволяют проводить комплексное и настраиваемое испытание на возможность проникновения в систему.
Этот инструмент является бесплатным, и у него есть активное сообщество, которое помогает пользователям, когда у тех возникают трудности. Это отличный вариант для разработчиков, которые работают над приложениями, требующими пользовательского ввода и подключений к базе данных.
6. Nikto
Nikto – это бесплатный сканер веб-серверов с открытым исходных кодом, который помогает выявлять потенциальные проблемы безопасности в веб-серверах и веб-приложениях. Как и OWASP ZAP, Nikto является альтернативой Burp Suite.
Nikto написан на Perl и доступен через командную строку. Он выявляет устаревшие версии программного обеспечения, небезопасные соединения и прочие известные уязвимости. Кроме того, пользователи могут настраивать процесс сканирования, например, они могут указывать, какие плагины нужно запускать, или исключать определенные файлы и каталоги.
Наряду с обычным сканированием уязвимостей, Nikto является отличным инструментом для обеспечения безопасности и актуальности серверов и файлов.
7. w3af
w3af – это фреймворк, предназначенный для тестирования безопасности веб-приложений. С его помощью тестировщики могут выявлять и эксплуатировать уязвимости. Этот инструмент совместим с Windows, Linux, OS X, OpenBSD и FreeBSD. Он способен выявлять более 200 уязвимостей веб-приложений.
У w3af есть автоматический сканер для обнаружения XSS, SQL-инъекций, ошибок в конфигурации PHP, легко угадываемых учетных данных, необработанных ошибок в приложении и прочих уязвимостей. Кроме того, усовершенствованные функции фреймворка позволяют создавать сценарии атак, перехватывать и изменять трафик и создавать отчеты.
w3af имеет хорошо оформленную структуру, а также графический и консольный интерфейсы, где пользователи могут приступить к сканированию буквально в несколько кликов.
8. Snyk Open Source
Snyk Open Source сканирует и находит уязвимости системы безопасности в общедоступных библиотеках приложения и фреймворках. Он совместим с API, Snyk CLI и Snyk Web UI.
В отличие от остальных инструментов, которые мы здесь перечислили, Snyk Open Source можно интегрировать прямо во время разработки, чтобы как можно раньше выявить уязвимости. У него есть функции непрерывного мониторинга и предоставления рекомендаций по устранению проблем, которые при обнаружении новых уязвимостей выдают предупреждения.
Snyk имеет открытый исходный код и хорошее оформление. Он предлагает несколько вариантов развертывания. Он удобен в использовании и проводит довольно глубокое сканирование, за счет чего превосходит другие инструменты для проведения испытаний на возможность проникновения. И тем не менее, Snyk Open Source лучше всего работает вместе с другими инструментами, предназначенными для проведения такого рода испытаний, например, сетевыми сканерами. Таким образом, можно обеспечить полноценную защиту.
Выберите свой инструмент
Проведение испытаний на возможность проникновения в систему позволяет убедиться в том, что безопасность приложения находится на высшем уровне. Организации могут защитить свои системы от будущей эксплуатации, просто максимально быстро выявляя и устраняя уязвимости в сетях, API и коде.
Данный список – это лишь часть инструментов автоматизированного тестирования. Ни одно приложение не способно выявить все потенциальные уязвимости, поэтому многие разработчики используют сразу несколько инструментов, чтобы обнаружить все векторы атак. Наилучший подход – это изучить и поэкспериментировать с несколькими инструментами, чтобы найти те, которые лучше всего подходят под ваши потребности.
В данной статье будет описан процесс настройки вашей АТС Asterisk с провайдером Zadarma.
Настройка с помощью файлов конфигурации Asterisk
Важный момент - у вас уже должны быть логин и пароль для данного провайдера, получить которые можно на сайте. Для примера будут указаны следующие данные: 1234567 - ваш SIP - номер, полученный при регистрации, ****** - ваш пароль и 321 - номер экстеншена. Рассмотрим самый стандартный вариант, при котором исходящие звонки с вышеуказанного внутреннего номера (экстеншена) маршрутизируются через SIP - транк zadarma-trunk.
Для начала настройки необходимо отредактировать файл sip.conf следующим образом:
[general]
srvlookup=yes
[zadarma-trunk]
host=sip.zadarma.com
insecure=invite,port
type=friend
fromdomain=sip.zadarma.com
disallow=allallow=alaw&ulaw
dtmfmode=autosecret=password
defaultuser=1234567
trunkname=zadarma-trunk
fromuser=1234567
callbackextension=zadarma-trunk
context=zadarma-in
qualify=400
directmedia=no
[321]
secret=password
host=dynamic
type=friend
context=zadarma-out
Настройки маршрутизации производятся в файле extensions.conf следующим образом:
[zadarma-in]
exten => 1234567,1, Dial(SIP/321)
[zadarma-out]
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _XXX.,1,Dial(SIP/${EXTEN}@zadarma-trunk)
Для контекста [zadarma-in] все входящие вызовы направляются на экстеншен 321, и для [zadarma-out] возможны два варианта: если в набираемом номере 3 цифры, то вызов пойдет на один из экстеншенов, настроенных на вашей АТС, если же 4 и больше - вызов уйдет на транк zadarma-trunk.
В случае, если ваша АТС находится не за маршрутизатором, а имеет публичный IP-адрес, то входящие вызовы можно принимать по следующей схеме, с использованием SIP URI.
К примеру, 12039485767 - ваш DID номер подключенный к Zadarma, а 200.132.13.43 - адрес вашего Asterisk. Для этого нужно в личном кабинете в поле Настройки-Прямой телефонный номер нужно указать маршрутизацию с прямого DID номера на внешний сервер (SIP URI) в формате 12039485767@200.132.13.43 и отредактировать sip.conf следующим образом:
[zadarma]
host=sipde.zadarma.com
type=friend
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw&ulaw
dtmfmode = auto
directmedia=no
[zadarma2]
host=siplv.zadarma.com
type=friend
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw&ulaw
dtmfmode = auto
directmedia=no
[zadarma3]
host=sipfr.zadarma.com
type=friend
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw&ulaw
dtmfmode = auto
directmedia=no
Указываем исходящий маршрут в файле extensions.conf
[zadarma-in]
extended => 12039485767,1,Dial(SIP/321)
Далее будет рассмотрена настройка транка для FreePBX 13 версии.
Настройка с помощью FreePBX
Важный момент, перед настройкой транка необходимо включить функцию SRV Lookup. Для этого необходимо пройти по пути Settings → Asterisk SIP Settings → Chan SIP Settings и для опции Enable SRV Lookup выбрать опцию Yes.
Далее происходит уже знакомый процесс настройки транка – переходим во вкладку Connectivity → Trunks. Необходимо нажать на кнопку + Add Trunk и добавить chan_sip транк
Присваиваем имя транку – в данном случае это «Zadarma_test»
Далее необходимо перейти во вкладку sip Settings и указать настройки для входящей и исходящей связи (вкладки Outgoing и Incoming)
Для удобства копирования, приведу настройки SIP - транка и строки регистрации в текстовом виде:
host=sip.zadarma.com
insecure=invite,port
type=friend
fromdomain=sip.zadarma.com
disallow=all
allow=alaw&ulaw
dtmfmode=auto
secret=******
defaultuser=1234567
fromuser=1234567
qualify=400
directmedia=no
1234567:******@sip.zadarma.com/1234567
Далее нужно нажать на Submit и Apply Config. Переходим к настройке входящего маршрута
Маршрутизация
Во вкладке Connectivity → Inbound Routes по уже знакомому способу создаём входящий маршрут (кнопка + Add Inbound Route), присваиваем описание и указываем номер.
Далее нажимаем Submit и переходим к настройке исходящего маршрута: переходим по пути Connectivity → Outbound Route, создаём новый исходящий маршрут таким же образом как и входящий и указываем следующие параметры – имя маршрута, CID маршрута и используемый транк (тот, что был настроен в начале всего процесса.)
Последним шагом является настройка Dial Patterns – переходим в одноименную вкладку и после поля префикс необходимо поставить одну единственную точку – иначе не будет возможности совершать исходящие вызовы.
После этого необходимо нажать Submit и Apply Config. На этом настройка заканчивается.
Введение
Сетевые команды – обязательные инструменты для любого сетевого или системного администратора. С помощью этих команд они могут настраивать, диагностировать и устранять неполадки и управлять сетевыми подключениями системы Linux.
Поиск доступных команд и изучение документации может оказаться довольно утомительным занятием, а наличие единого ориентира имеет критически важное значение при работе над сетевыми задачами.
В этой статье рассмотрены 20 основных сетевых команд Linux.
Необходимые предварительные условия:
Доступ к командной строке/терминалу
Учетная запись администратора с привилегиями sudo
20 системных команд Linux
В Linux есть огромное количество полезных сетевых команд и инструментов. Как правило, эти команды отвечают за выполнение сложных сетевых задач, таких как мониторинг, настройка и устранение неполадок в сети Linux. Большая часть сетевых утилит – это часть более старого (устаревшего) пакета
net-tools
или более современного
iproute2
.
Примечание
: команды
net-tools
и
iproute2
можно найти в большинстве дистрибутивов Linux. Однако все же рекомендуется использовать инструменты
iproute2
в силу их гибкости и скорости.
Несмотря на то, что
net-tools
считается устаревшим, он по-прежнему широко используется в устаревших сценариях и конфигурациях.
Точный синтаксис команды может отличаться в зависимости от ее версии. Вы можете перепроверить синтаксис с помощью вот такой команды:
man [command]
Команда
man
отображает страницу руководства для команды, которую вы указали в терминале.
Ниже приведен краткий обзор на 20 сетевых команд Linux.
ip
Команда
ip
– это единый сетевой инструмент для систем Linux. С помощью команды
ip
можно просматривать и настраивать маршрутизацию, интерфейсы, сетевые устройства и туннели.
Эта команда – часть пакета
iproute2
. Она заменяет многие старые сетевые инструменты, такие как команды
route
,
ifconfig
и
netstat
.
Синтаксис
Синтаксис команды
ip
следующий:
ip [options] object [command]
Каждая часть команды выполняет определенные действия:
[options]
– параметры командной строки, которые изменяют поведение команды
object
– доступные объекты для настройки
[command]
– подкоманда, то есть действие, которое выполняется над объектом. Они могут отличаться в зависимости от объекта
Пример
Команда
ip
без всяких параметров, объектов и подкоманд показывает справочное меню:
ip
Чтобы увидеть текущую версию, необходимо добавить параметр
-v
:
ip -V
В результате мы получим версию пакета и библиотеки для утилиты
ip
.
ip addr
Команда
ip addr
управляет и отображает IP-адреса сетевых интерфейсов. Псевдонимами команды являются
ip address
или
ip a
.
Синтаксис
Синтаксис команды
ip addr
следующий:
ip addr [subcommand]
Список доступных подкоманд для объекта:
add
– добавляет новый адрес
show
– отображает адреса протоколов
del
– удаляет адрес
flush
– сбрасывает адреса по конкретным критериям
У каждой подкоманды есть свои дополнительные параметры и ключевые слова, которые позволяют выполнять определенные задачи по отношению к адресам сетевых интерфейсов.
Пример
Команда
ip addr
без каких-либо параметров отображает информацию о сетевом интерфейсе, в том числе связанные с ним IP-адреса:
ip addr
Вывод команды
ip addr show
идентичен.
Для того, чтобы отобразить какой-то конкретный сетевой интерфейс, вам понадобиться команда
ip addr show
, после которой идет имя интерфейса. Например,
ip addr show [interface]
Эта команда фильтрует вывод команды
ip addr
и отображает информацию, которая относится только к указанному интерфейсу.
ip link
Команда
ip link
управляет и отображает информацию о сетевом интерфейсе. С ее помощью можно просматривать, изменять, включать и отключать сетевые интерфейсы.
Синтаксис
Синтаксис команды
ip link
следующий:
ip link [subcommand] [options] [interfaces]
У этой команды есть несколько подкоманд:
show
– печатает информацию о сетевом адресе
set
– меняет или добавляет информацию сетевого интерфейса
add
– добавляет новый сетевой интерфейс
del
– удаляет сетевой интерфейс
Подкоманды имеют свои дополнительные параметры, позволяющие обращаться к определённым интерфейсам.
Пример
Команда
ip link
без каких-либо дополнительных параметров отображает информацию обо всех сетевых интерфейсах.
ip link
Команда
ip link show
дает такой же результат.
Чтобы отключить интерфейс, вам понадобятся права суперпользователя и следующий синтаксис:
sudo ip link set [interface] down
После того, как команда будет выполнена, у интерфейса отобразится статус
DOWN
.
Аналогично, чтобы включить интерфейс, примените ключевое слово
up
:
sudo ip link set [interface] up
Статус интерфейса сменится на
UP
.
ip route
Команда
ip route
отображает и настраивает таблицу IP-маршрутизации. С ее помощью пользователи могут корректировать таблицу маршрутизации, а также выполнять прочие важные сетевые задачи.
Синтаксис
У команды есть определенный синтаксис:
ip route [subcommand] [options] [destination]
А с помощью подкоманд вы можете выполнять следующие действия:
show
– отображает таблицу маршрутизации
add
– добавляет новый маршрут в таблицу
del
– удаляет маршрут из таблицы
change
– изменяет существующий маршрут
Параметр
[destination]
позволяет определить, куда будет направляться сетевой трафик. Дополнительные параметры помогают управлять трафиком.
Пример
Для того, чтобы просмотреть таблицу маршрутизации, запустите следующую команду:
ip route show
Каждая
строка вывода – это отдельные маршруты в таблице.
ifconfig
Команда
ifconfig
(конфигурация интерфейса) управляет сетевыми интерфейсами системы и отображает информацию о них. Эта команда – часть пакета
net-tools
.
И хотя эта команда обладает меньшим функционалом в сравнении с командой
ip
, она по—прежнему широко используется для настройки сетевых интерфейсов.
Синтаксис
Синтаксис команды следующий:
ifconfig [interface] [options]
Здесь:
[interface]
– сетевой интерфейс, который необходимо настроить или информацию о котором необходимо отобразить. Параметр является необязательным. Если интерфейс не указан, отображается состояние всех активных интерфейсов.
[options]
– параметры командной строки, позволяющие выполнять конкретные действия или настраивать определенные параметры. Этот параметр также является необязательным.
Пример
Для того, чтобы отобразить краткий отчет по всем активным сетевым интерфейсам, запустите следующую команду:
ifconfig -s
Команда выведет короткий список со всей важной информацией об активных интерфейсах.
dig
Команда
dig
запрашивает системы доменных имен (DNS - Domain Name Systems) и находит информацию о DNS-записях. Команда собирает информацию о доменном имени и соответствующих записях.
Команду
dig
можно использовать для выявления и устранения проблем с DNS и проверки конфигурации DNS в системе Linux. Она также подходит для создания сценариев и автоматизации задач, связанных с выявлением и устранением неполадок в сети. Эту команду используют настолько часто, что у нее появилась версия для Windows.
Синтаксис
Синтаксис команды следующий:
dig [options] [domain] [record type] [DNS server]
Эта команда состоит из:
[options]
– параметры, позволяющие менять поведение команды
[domain]
– имя домена для запроса
[record type]
– тип DNS-записи для запроса. По умолчанию используется тип А.
[DNS server]
– конкретный DNS-сервер для запроса
Все параметры являются необязательными. Команда без дополнительных параметров отображает информацию о стандартном DNS-преобразователе и статистику запросов.
Пример
Для того, чтобы выполнить простой DNS-поиск, запустите команду с именем домена:
dig google.com
Или укажите IP-адрес и параметр
-x
для того, чтобы выполнить обратный DNS-поиск. Например,
dig -x 8.8.8.8
В разделе
ANSWER SECTION
вы увидите запрашиваемое имя домена.
Примечание
: частые DNS-запросы влияют на производительность веб-сайта. Уменьшив количество запросов, можно снизить нагрузку на сервер и задержку сети.
nslookup
Команда
nslookup
похожа на команду
dig
. Основное различие между этими двумя командами заключается в том, что у
nslookup
есть интерактивный режим. С ее помощью можно диагностировать и отправлять запросы на DNS-серверы. Это помогает в выявлении и устранении неполадок в сети и выполнении задач DNS.
Эта команда доступна в большинстве Unix-подобных операционных системах и системах Windows.
Синтаксис
Общий синтаксис команды
nslookup
выглядит так:
nslookup [domain] [DNS server]
Команда состоит из:
[domain]
– имя домена для поиска. Если имя не указано, запросы можно отправлять к нескольким доменам в интерактивном режиме.
[DNS server]
- DNS-сервер, который используется для поиска. Если сервер не указан, по умолчанию используется DNS-сервер системы.
По умолчанию запрос выполняет поиск записи типа А.
Пример
Следующий пример демонстрирует, как производится DNS-поиск домена:
nslookup google.com
В результате отображается информация о разрешении DNS для указанного домена.
netstart
Команда
netstat
(статистика сети) — это сетевая утилита, отображающая различные статистические данные сети. Команда предоставляет статистику сетевых портов и отображает доступные порты.
Эта команда – часть пакета
net-tools
и считается неактуальной. Рекомендуется заменить ее командой
ss
, которая является частью пакета
iproute2
. Дополнительные функции команды
netstat
доступны при ее использовании вместе с командой
ip
.
Синтаксис
Синтаксис команды
netstat
довольно прост:
netstat [options]
Команда позволяет комбинировать различные параметры для того, чтобы настроить вывод и отображение сетевой информации. Команда без параметров выводит список открытых сокетов для всех настроенных семейств адресов.
Пример
Например, для того, чтобы перечислить все TCP-порты с помощью команды
netstat
, вам понадобиться параметр
-at
:
netstat -at
В результате вы получите список всех активных TCP-соединений в системе.
traceroute
Команда
traceroute
– это инструмент диагностики сети, которые есть в Linux, macOS и Windows. Команда позволяет отслеживать маршрут, по которому пакеты достигают пункта назначения в сети TCP/IP.
Эту команду можно использовать для того, чтобы обнаруживать проблемы маршрутизации и узкие места за счет отображения перемещения пакета в процессе его пути от исходной точки до пункта назначения.
По умолчанию для пакета размером 60 байт (для IPv4) (или 80 байт (для IPv6)) трассировка содержит 30 переходов.
Синтаксис
Синтаксис команды
traceroute
следующий:
traceroute [options] [hostname/IP]
Параметр
[hostname/IP]
является обязательным, а вот в качестве дополнительного параметра можно указать DNS-поиск, параметр TTL и тип пакета.
Пример
Для того, чтобы выполнить трассировку маршрута пакета по протоколу TCP, запустите от имени администратора команду
traceroute
с параметром
–T
. Например,
sudo traceroute -T 184.95.56.34
В результате вы получите последовательный маршрут от исходной точки до пункта назначения.
tracepath
Команда
tracepath
похожа на команду
traceroute
. Команда определяет пути от исходной точки до пункта назначения и их задержки, сопоставляя маршруты и переходы по сети.
И хотя
traceroute
– хорошо известная команда с большим количеством параметров, команда
tracepath
– это простой инструмент топологии сети, который есть в большинстве систем Linux.
Синтаксис
Синтаксис команды
tracepath
следующий:
tracepath [options] [hostname/IP]
Дополнительные параметры позволяют управлять поведением запроса, например, количеством переходов и необходимостью выполнения обратного DNS-поиска адресов. Параметр
[hostname/IP]
является обязательным. Это пункт назначения.
Пример
Запустив команду
tracepath
без каких-либо параметров, вы выполните простую трассировку от пункта назначения до хоста:
tracepath [hostname/IP]
В результате вы получите номера переходов, IP-адреса или разрешенное имя хоста, а также время, затраченное на передачу и подтверждение (RTT - Round-Trip Time) для каждого перехода.
host
Команда
host
– это простой инструмент для выполнения DNS-поиска. Команда преобразует IP-адреса в доменные имена и наоборот.
Эту команду можно использовать для того, чтобы запрашивать DNS-записи, а также выявлять и устранять неполадки, связанные с DNS.
Синтаксис
Синтаксис команды
host
выглядит так:
host [options] [hostname/IP]
Параметры команды помогают управлять ее поведением, например, можно указать тип запроса или приоритетную запись (SOA - Start Of Authority) для предоставленного домена.
Пример
Для того, чтобы выполнить простой DNS-поиск, запустите команду
host
и укажите имя хоста или IP-адрес. Например,
host google.com
В результате вы увидите разрешенные адреса IPv4 и IPv6 для указанного имени хоста.
hostname
Команда
hostname
отображает и изменяет домен и имя хоста системы, а также определяет устройства в сетевом окружении.
С помощью этой команды можно отображать, изменять и искать имена хостов.
Синтаксис
Синтаксис команды
hostname
следующий:
hostname [options] [name]
Параметр
[options]
управляет тем, что отображает команда, а параметр
[name]
временно устанавливает указанное имя в качестве имени хоста.
Пример
Для того, чтобы изменить имя хоста системы на какое-то время, запустите команду без параметров и укажите нужное имя:
sudo hostname [name]
У этой команды нет вывода. Чтобы проверить текущее имя хоста, выполните следующую команду:
hostname
На экран выведется текущее имя хоста.
ping
Команда
ping
— это сетевая утилита, позволяющая проверить доступность хоста. Команда отправляет ICMP-запросы на хост (компьютер или сервер) и измеряет RTT.
Эта команда помогает определить задержку сети между двумя узлами и доступность сети.
Синтаксис
Синтаксис команды
ping
следующий:
ping [options] [hostname/IP]
Для проверки доступности адресата укажите параметр
[hostname/IP]
. Также вы можете добавить параметры для управления поведением команды, например, номер ping-запроса, интервалы или размер пакета.
Пример
Пример запроса с помощью команды
ping
выглядит так:
ping -c 5 google.com
Команда отправляет пять ICMP-пакетов на хост, который вы указали и печатает статистику.
ss
Команда
ss
— это инструмент командной строки, который позволяет отобразить статистику сети. Этот инструмент является частью пакета
iproute2
. Кроме того, это более быстрая альтернатива команды
netstat
.
Эту команду можно использовать для проверки сетевых сокетов и просмотра различных сетевых данных.
Синтаксис
Базовый синтаксис команды следующий:
ss [options] [filter]
Параметр
[options]
позволяет фильтровать сокеты по протоколу, а параметр
[filter]
помогает ставить сокеты в очередь по состоянию. Это необходимо для того, чтобы сократить количество отображаемых данных.
Пример
Например, для того, чтобы отобразить все прослушивающие TCP-сокеты с помощью команды
ss
, добавьте параметр
–lt
:
ss -lt
В результате вы получите список всех TCP-сокетов в состоянии
LISTEN
, которые находятся в ожидании входящих соединений.
route
Команда
route
в Linux – это специальная команда для отображения и настройки таблицы маршрутизации. Команда позволяет изменять таблицы IP-маршрутизации ядра и помогает настраивать статические маршруты к определенным хостам или сетям.
Эту команду необходимо использовать уже после того, как вы настроите сетевой интерфейс с помощью специального инструмента, например, команды
ifconfig
.
Примечание
: предпочтительной альтернативой команде
route
является команда
ip route
.
Синтаксис
Синтаксис команды
route
следующий:
route [options] [subcommand] [arguments]
Она содержит:
[options]
– дополнительные параметры командной строки, с помощью которых можно управлять следующим: конечным представлением данных, семейством адресов и IP-протоколом
[subcommand]
– действие
которое необходимо выполнить, например,
add
или
delete
[arguments]
–
дополнительные аргументы, которые могут отличаться в зависимости от выбранной подкоманды
Пример
Для того, чтобы просмотреть текущую таблицу маршрутизации, введите команду
route
без параметров:
route
Чтобы добавить шлюз, используемый по умолчанию, выполните следующую команду:
sudo route add default gw [gateway]
Команда добавляет маршрут по умолчанию, который будет использоваться, когда остальные маршруты не совпадают. Указанный шлюз должен являться маршрутом, доступным напрямую.
arp
Команда
arp
отображает и настраивает кэш протокола ARP (Address Resolution Protocol – протокол разрешения адресов). Протокол ARP сопоставляет IP-адреса с физическими MAC-адресами (Media Access Control – управление доступом к среде передачи данных) в локальной сети. Эта схема, составленная для всех устройств в локальной сети, хранится в кэше.
Синтаксис
Синтаксис команды
arp
выглядит так:
arp [options] [hostname/IP]
Параметр
[options]
позволяет изменять поведение команды, например, настраивать и удалять действия или управлять выводом.
Параметр
[hostname/IP]
– это необязательный идентификатор удаленной системы, для которой необходимо разрешить MAC-адрес. В случае, если этот параметр не указан, команда проверяет локальный кэш ARP.
Пример
Для того, чтобы отобразить кэш ARP, запустите команду
arp
без дополнительных параметров:
arp
В результате вы увидите таблицу кэша ARP (IP и MAC-адреса).
iwconfig
Команда
iwconfig
отображает и настраивает информацию об интерфейсе беспроводной сети. Команда может оказаться полезной при выявлении и устранении проблем с беспроводной сетью.
Эту команду можно использовать для просмотра или изменения имени беспроводной сети, настроек управления электропитанием и прочих параметров беспроводной сети.
Синтаксис
Синтаксис команды
iwconfig
выглядит так:
iwconfig [interface] [options]
Параметр
[interface]
фильтрует интерфейсы беспроводной сети по имени, а параметр
[options]
отвечает за различные настройки, например, режим работы, ограничения скорости и ключ шифрования беспроводной сети.
Пример
Для того, чтобы просмотреть доступные беспроводные интерфейсы в системе и текущие настройки, запустите команду
iwconfig
без параметров:
iwconfig
Команда покажет всю информацию, касающуюся беспроводных интерфейсов системы.
curl
или
wget
Команды
wget
и
curl
— это инструменты командной строки, предназначенные для загрузки файлов из Интернета. Они похожи, но все же есть небольшие различия в том, как они работают, и в их параметрах:
Команда
wget
загружает файлы из Интернета по протоколам HTTP, HTTPS или FTP. Этот инструмент довольно прост с точки зрения загрузки файлов.
Команда
curl
является универсальной и поддерживает различные сетевые протоколы, такие как SCP, IMAP, POP3, SMTP и т. д. С помощью этого инструмента также можно отправлять HTTP-запросы и взаимодействовать с веб-службами.
Эти команды можно использовать для проверки скорости загрузки по сети.
Синтаксис
Синтаксис для этих двух команд одинаковый:
wget [options] [URL]
curl [options] [URL]
Параметр
[options]
управляет различными параметрами загрузки и вывода, а параметр
[URL]
– это URL-адрес, откуда необходимо загрузить файл. В отличие от команды
wget
, у команды
curl
есть множество различных параметров и шаблонов.
Пример
Для того, чтобы загрузить файл с помощью команды
wget
, запустите следующую команду:
wget -O [file name] [URL]
А для того, чтобы выполнить ту же задачу, но с помощью команды
curl
, вот эту:
curl -o [file name] [URL]
Файл загружается с указанного URL-адреса, а его содержимое сохраняется в указанном файле.
mtr
Команда
mtr
(
m
y
tr
aceroute) – это инструмент диагностики, который сочетает в себе элементы команд
ping
и
traceroute
. Команда отправляет аналитическую информацию о качестве сети в режиме реального времени. Это делает ее отличным инструментом для выявления и устранения неполадок, связанных с большой задержкой и потерей пакетов.
Синтаксис
Синтаксис команды
mtr
следующий:
mtr [options] [hostname/IP]
Параметр
[options]
позволяет управлять количеством и размером пакетов, а параметр
[hostname/IP]
- это пункт назначения.
Пример
Команда
mtr
без параметров запускает сеанс трассировки до указанного хоста. Например,
mtr google.com
Чтобы выйти, нажмите
q
.
whois
Команда
whois
запрашивает информацию о доменных именах, IP-адресах и прочие сетевые данные. Эту команду можно использовать для получения сведений о владельце домена, например, дату регистрации и дату истечения срока действия.
Синтаксис
Синтаксис команды следующий:
whois [options] [query]
Параметр
[options]
позволяет установить конкретный сервер WHOIS для запроса, изменить протокол и добавить дополнительные параметры запроса.
Параметр
[query]
– это имя домена, IP-адрес или номер в автономной системе (ASN - Autonomous System Number) для поиска.
Пример
Чтобы выполнить простой запрос для определённого доменного имени, необходимо запустить команду без параметров. Например,
whois google.com
В итоге вы получите результаты поиска WHOIS
для указанного доменного имени.
iftop
Команда
iftop
— это утилита для мониторинга сети. Эту команду можно использовать для просмотра сетевых подключений и загрузки сети в режиме реального времени.
Синтаксис
Синтаксис команды
iftop
следующий:
iftop [options]
Параметр
[options]
управляет отображаемой информацией. Кроме того, для мониторинга всего трафика сетевого интерфейса команда требует соответствующих прав доступа.
Пример
Как правило, эту команду используют без каких-либо параметров:
sudo iftop
Команда открывает экран мониторинга, где в режиме реального времени отображается процесс передачи данных через сетевой интерфейс.
С помощью интерфейса можно управлять отображением данных на этом экране, например, переключаться между отображениями исходной точки (
s
) и пункта назначения (
d
). Чтобы выйти, нажмите
q
.
tcpdump
Команда
tcpdump
— это перехватчик пакетов и инструмент сетевой безопасности. Он собирает информацию о сетевых пакетах, поступающую в режиме реального времени. Эту команду можно использовать для анализа трафика, выявления и устранения неполадок, а также мониторинга безопасности сети.
Синтаксис
Синтаксис команды
tcpdump
следующий:
tcpdump [options] [filter]
Параметр
[options]
позволяет управлять отображением данных и количеством пакетов, а также работать с файлами. А для ввода критериев захвата пакетов вам понадобиться параметр
[filter]
.
Пример
Для того, чтобы выполнить захват пакетов на каком-то определенном порту, выполните следующую команду:
sudo tcpdump port 80
Теперь фильтр порта 80 захватывает на нем пакеты для мониторинга HTTP-трафика.
ifplugstatus
Команда
ifplugstatus
— это простая утилита, предназначенная для проверки состояния сетевого интерфейса. С помощью этой команды можно определить, подключен ли Ethernet-кабель к интерфейсу.
Эта команда используется для проверки физического соединения сети, особенно после того, как в сетевой интерфейс были внесены изменения.
Синтаксис
Синтаксис команды
ifplugstatus
следующий:
ifplugstatus [options] [interface]
Параметр
[options]
позволяет установить конкретный файл конфигурации или запустить сценарии в пакетном режиме. Указав параметр
[interface]
, вы можете проверить состояние определенного интерфейса.
Пример
Для того, чтобы просмотреть состояния всех сетевых интерфейсов, запустите команду без параметров:
ifplugstatus
Если в результате вы видите сообщение «link beat detected», это значит, что у интерфейса есть активное физическое соединение.
