Aircrack-ng

Network Analysis v1.7 · 10.05.2022 не обновлялся >2 лет

Полный набор инструментов для аудита безопасности Wi-Fi сетей. Включает: захват пакетов (airodump-ng), деаутентификацию клиентов (aireplay-ng), взлом WEP/WPA/WPA2 (aircrack-ng), генерацию трафика и мониторинг интерфейсов. Стандарт отрасли для пентеста беспроводных сетей.

v1.7
10.05.2022 current
Добавлен 23.06.2026 · Обновлён 23.06.2026 · Network Analysis
Установка
# Debian/Ubuntu:
sudo apt install aircrack-ng

# Arch:
sudo pacman -S aircrack-ng

# Из исходников:
git clone https://github.com/aircrack-ng/aircrack-ng
cd aircrack-ng && autoreconf -i && ./configure && make && sudo make install
переведено ИИ

Aircrack-ng

Значки

CI GitHub

CI Alma Linux CI Alpine Linux CI DragonFlyBSD CI FreeBSD CI Gentoo CI Kali Linux CI Linux CI Linux PCRE CI macOS CI NetBSD CI OpenBSD CI Windows

Прочие

Clang Scan-build Codespell Coverity Scan Docker (git) push to DockerHub Markdown link PVS-Studio Analysis Style & Consistency

Версии в репозиториях

Пакет Arch Linux Пакет Debian Пакет Debian Версия Docker-образа (последняя по дате) Пакет Fedora Версия homebrew Пакет Ubuntu Пакет Ubuntu Пакет Ubuntu Пакет Ubuntu Пакет Ubuntu Пакет Ubuntu Пакет Ubuntu

Описание

Aircrack-ng — это полный набор инструментов для оценки безопасности WiFi-сетей.

Он сосредоточен на различных аспектах безопасности WiFi: * Мониторинг: Захват пакетов и экспорт данных в текстовые файлы для последующей обработки сторонними инструментами. * Атаки: Атаки повторного воспроизведения, деаутентификация, поддельные точки доступа и другие методы с помощью инъекции пакетов. * Тестирование: Проверка возможностей WiFi-карт и драйверов (захват и инъекция). * Взлом: WEP и WPA PSK (WPA 1 и 2).

Все инструменты являются командной строкой, что позволяет создавать сложные скрипты. Множество графических интерфейсов используют эту возможность. Он работает в основном в Linux, но также в Windows, macOS, FreeBSD, OpenBSD, NetBSD, а также в Solaris и даже в eComStation 2.

Сборка

Требования

  • Autoconf
  • Automake
  • Libtool
  • shtool
  • Пакет разработки OpenSSL или пакет разработки libgcrypt.
  • Airmon-ng (Linux) требует ethtool, usbutils и часто pciutils.
  • В Windows необходимо использовать cygwin, который также требует пакет w32api.
  • В Windows, если используется clang, требуются libiconv и libiconv-devel
  • Linux: LibNetlink 1 или 3. Его можно отключить, передав --disable-libnl в configure.
  • pkg-config (pkgconf в FreeBSD, DragonFlyBSD, OpenBSD и NetBSD)
  • FreeBSD, DragonFlyBSD, OpenBSD, NetBSD, Solaris и OS X с Macports: gmake
  • Linux/Cygwin: make и пакет разработки стандартной библиотеки C++ (Debian: libstdc++-dev)

Примечание: Airmon-ng требует pciutils только если в системе есть шина PCI/PCIe и она задействована. Такая шина может присутствовать, даже если физически не видна. Например, она присутствует и задействована на Raspberry Pi 4, поэтому pciutils требуется на этом устройстве.

Необязательные компоненты

  • Если вам нужна фильтрация SSID с помощью регулярных выражений в airodump-ng (--essid-regex), потребуется пакет разработки PCRE или PCRE2.
  • Если вы хотите использовать airolib-ng и опцию '-r' в aircrack-ng, потребуется пакет разработки SQLite >= 3.3.17 (рекомендуется версия 3.6.X или выше).
  • Если вы хотите использовать Airpcap, потребуется директория 'developer' с CD/ISO/SDK.
  • Для сборки besside-ng, besside-ng-crawler, easside-ng, tkiptun-ng и wesside-ng, потребуется пакет разработки libpcap (в Cygwin используйте Airpcap SDK; см. выше).
  • rfkill
  • Если вы хотите, чтобы Airodump-ng записывал координаты GPS, потребуется gpsd.
  • Для оптимальной производительности на машинах с SMP убедитесь, что установлена библиотека hwloc и заголовочные файлы. Это настоятельно рекомендуется для систем с большим количеством ядер, так как может обеспечить серьезное ускорение.
  • CMocka и expect для тестирования.
  • Для интеграционного тестирования только в Linux: tcpdump, HostAPd, WPA Supplicant и screen.

Установка обязательных и необязательных зависимостей

Ниже приведены инструкции по установке основных требований для сборки aircrack-ng в различных операционных системах.

Примечание: CMocka, tcpdump, screen, HostAPd и WPA Supplicant не должны быть зависимостями при упаковке Aircrack-ng.

Linux

Arch Linux

sudo pacman -Sy base-devel libnl openssl ethtool util-linux zlib libpcap sqlite pcre2 hwloc cmocka hostapd wpa_supplicant tcpdump screen iw usbutils pciutils expect

Debian/Ubuntu

sudo apt-get install build-essential autoconf automake libtool pkg-config libnl-3-dev libnl-genl-3-dev libssl-dev ethtool shtool rfkill zlib1g-dev libpcap-dev libsqlite3-dev libpcre2-dev libhwloc-dev libcmocka-dev hostapd wpasupplicant tcpdump screen iw usbutils expect

Fedora

sudo yum install libtool pkgconfig sqlite-devel autoconf automake openssl-devel libpcap-devel pcre2-devel rfkill libnl3-devel gcc gcc-c++ ethtool hwloc-devel libcmocka-devel make file expect hostapd wpa_supplicant iw usbutils tcpdump screen zlib-devel expect

CentOS/RHEL 7

sudo yum install epel-release
sudo ./centos_autotools.sh
# Remove older installation of automake/autoconf
sudo yum remove autoconf automake
sudo yum install sqlite-devel openssl-devel libpcap-devel pcre2-devel rfkill libnl3-devel ethtool hwloc-devel libcmocka-devel make file expect hostapd wpa_supplicant iw usbutils tcpdump screen zlib-devel

Примечание: Пакеты autoconf, automake, libtool и pkgconfig в репозиториях слишком старые. Скрипт centos_autotools.sh автоматически устанавливает зависимости для компиляции, а затем устанавливает инструменты.

CentOS/RHEL 8

sudo yum config-manager --set-enabled powertools
sudo yum install epel-release
sudo yum install libtool pkgconfig sqlite-devel autoconf automake openssl-devel libpcap-devel pcre2-devel rfkill libnl3-devel gcc gcc-c++ ethtool hwloc-devel libcmocka-devel make file expect hostapd wpa_supplicant iw usbutils tcpdump screen zlib-devel

openSUSE

sudo zypper install autoconf automake libtool pkg-config libnl3-devel libopenssl-1_1-devel zlib-devel libpcap-devel sqlite3-devel pcre2-devel hwloc-devel libcmocka-devel hostapd wpa_supplicant tcpdump screen iw gcc-c++ gcc ethtool pciutils usbutils expect

Mageia

sudo urpmi autoconf automake libtool pkgconfig libnl3-devel libopenssl-devel zlib-devel libpcap-devel sqlite3-devel pcre2-devel hwloc-devel libcmocka-devel hostapd wpa_supplicant tcpdump screen iw gcc-c++ gcc make expect

Alpine

sudo apk add gcc g++ make autoconf automake libtool libnl3-dev openssl-dev ethtool libpcap-dev cmocka-dev hostapd wpa_supplicant tcpdump screen iw pkgconf util-linux sqlite-dev pcre2-dev linux-headers zlib-dev pciutils usbutils expect

Примечание: Для установки iw необходимо включить community-репозиторий.

Clear Linux

sudo swupd bundle-add c-basic devpkg-openssl devpkg-libgcrypt devpkg-libnl devpkg-hwloc devpkg-libpcap devpkg-pcre2 devpkg-sqlite-autoconf ethtool wget network-basic software-testing sysadmin-basic wpa_supplicant os-testsuite

Примечание: hostapd должен быть скомпилирован вручную, его нет в репозитории.

BSD

FreeBSD

pkg install pkgconf shtool libtool gcc9 automake autoconf pcre2 sqlite3 openssl gmake hwloc cmocka

DragonflyBSD

pkg install pkgconf shtool libtool gcc8 automake autoconf pcre2 sqlite3 libgcrypt gmake cmocka

OpenBSD

pkg_add pkgconf shtool libtool gcc automake autoconf pcre2 sqlite3 openssl gmake cmocka

NetBSD

pkg_add pkgconf libtool gcc7 automake autoconf pcre2 sqlite3 openssl gmake cmocka

macOS

Требуются XCode, инструменты командной строки Xcode и HomeBrew.

brew install autoconf automake libtool openssl shtool pkg-config hwloc pcre2 sqlite3 libpcap cmocka

Windows

Cygwin

Для автоматизированной установки необходимых пакетов в Cygwin требуется полный путь к утилите setup.exe. Кроме того, он требует указания расположения вашей установки, пути к кэшированному месту загрузки пакетов и URL-адреса зеркала.

Пример автоматической установки всех зависимостей:

c:\cygwin\setup-x86.exe -qnNdO -R C:/cygwin -s http://cygwin.mirror.constant.com -l C:/cygwin/var/cache/setup -P autoconf -P automake -P bison -P gcc-core -P gcc-g++ -P mingw-runtime -P mingw-binutils -P mingw-gcc-core -P mingw-gcc-g++ -P mingw-pthreads -P mingw-w32api -P libtool -P make -P python -P gettext-devel -P gettext -P intltool -P libiconv -P pkg-config -P git -P wget -P curl -P libpcre2-devel -P libssl-devel -P libsqlite3-devel

MSYS2

pacman -Sy autoconf automake-wrapper libtool msys2-w32api-headers msys2-w32api-runtime gcc pkg-config git python openssl-devel openssl libopenssl msys2-runtime-devel gcc binutils make pcre2-devel libsqlite-devel

GNU/Hurd

Debian

apt-get install build-essential autoconf automake libtool pkg-config libssl-dev shtool zlib1g-dev libpcap-dev libsqlite3-dev libpcre2-dev libhwloc-dev libcmocka-dev screen expect libbsd-dev

Docker контейнеры

У нас есть два репозитория на DockerHub: - aircrackng/release: Каждый релиз. - aircrackng/git: Каждый коммит в git-репозитории.

Базовая команда для версии git:

sudo docker run --rm -it aircrackng/git

Доступные платформы/архитектуры ЦП: - linux/386 (базовый образ: debian:unstable-slim) - linux/amd64 (базовый образ: debian:unstable-slim) - linux/arm/v5 (базовый образ: debian:unstable-slim) - linux/arm/v6 (базовый образ: alpine:3) - linux/arm/v7 (базовый образ: debian:unstable-slim) - linux/arm64/v8 (базовый образ: debian:unstable-slim) - linux/mips64le (базовый образ: debian:unstable-slim) - linux/ppc64le (базовый образ: debian:unstable-slim) - linux/riscv64 (базовый образ: debian:unstable-slim) - linux/s390x (базовый образ: debian:unstable-slim)

Компиляция

Для сборки aircrack-ng используется система сборки Autotools. Autotools заменяет более старый метод компиляции.

ПРИМЕЧАНИЕ: Если вы используете версию для разработки, например, выбранную из системы контроля версий, вам необходимо запустить предварительный скрипт configure. Используйте один из следующих скриптов: autoreconf -i или env NOCONFIGURE=1 ./autogen.sh.

Сначала выполните ./configure для проекта с указанием соответствующих опций для вашей среды:

./configure <options>

СОВЕТ: Если вышеуказанная команда не работает, ознакомьтесь с разделом о версиях исходного кода для разработчиков выше.

Затем скомпилируйте проект (с учетом необходимости использования make или gmake):

  • Компиляция:

    make

  • Компиляция на *BSD или Solaris:

    gmake

Наконец, следующие дополнительные цели могут быть полезны в вашей среде:

  • Запуск всех тестов модуля:

    make check

  • Запуск всех интеграционных тестов (требуются права root):

    make integration

  • Установка:

    make install

  • Удаление:

    make uninstall

    ./configure параметры

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

  • with-airpcap=DIR: необходим для поддержки устройств airpcap в Windows (только Cygwin или MSYS2). Замените DIR выше на абсолютный путь к корню распакованного исходного кода с компакт-диска Airpcap или загруженного SDK, доступного в сети. Необходим в Windows для сборки besside-ng, besside-ng-crawler, easside-ng, tkiptun-ng и wesside_ng при сборке экспериментальных инструментов. Пакет для разработки (совместимый с версиями 4.1.1 и 4.1.3) можно загрузить по адресу https://support.riverbed.com/content/support/software/steelcentral-npm/airpcap.html

  • with-experimental: необходим для компиляции tkiptun-ng, easside-ng, buddy-ng, buddy-ng-crawler, airventriloquist и wesside-ng. Также требуется пакет разработки libpcap для компиляции большинства инструментов. Если он отсутствует, будут собраны не все экспериментальные инструменты. В Cygwin libpcap отсутствует, и его заменяет SDK Airpcap. См. параметр --with-airpcap выше.

  • with-ext-scripts: необходим для сборки airoscript-ng, versuck-ng, airgraph-ng и airdrop-ng. Примечание: у каждого скрипта свои зависимости.

  • with-gcrypt: Использовать криптографическую библиотеку libgcrypt вместо OpenSSL по умолчанию. А также использовать внутреннюю быструю реализацию sha1 (заимствованную из GIT). Зависимость (Debian): libgcrypt20-dev

  • with-duma: Компилировать с поддержкой DUMA. DUMA — это библиотека для обнаружения переполнения и недозаполнения буферов. Зависимость (Debian): duma

  • disable-libnl: Настроить проект для компиляции без libnl (1 или 3). Только для Linux.

  • without-opt: Не включать оптимизации -O3.

  • enable-shared: Сделать OSdep разделяемой библиотекой.

  • disable-shared: В сочетании с enable-static, статически скомпилирует Aircrack-ng.

  • with-avx512: На x86 добавить поддержку инструкций AVX512 в aircrack-ng. Используйте только когда текущий процессор поддерживает AVX512.

  • with-static-simd=: Скомпилировать одну оптимизацию в бинарный файл aircrack-ng. Полезно при статической компиляции и/или для устройств с ограниченным пространством. Допустимые параметры SIMD: x86-sse2, x86-avx, x86-avx2, x86-avx512, ppc-altivec, ppc-power8, arm-neon, arm-asimd. Должен использоваться с --enable-static --disable-shared. При использовании этих двух параметров по умолчанию в бинарный файл компилируется универсальная оптимизация. --with-static-simd лишь позволяет выбрать другую.

  • enable-maintainer-mode: Важно включать этот параметр при разработке с Aircrack-ng. Он включает дополнительные предупреждения компилятора и средства безопасности.

Примеры:

  • Конфигурация и компиляция:

    ./configure --with-experimental make

  • Компиляция с gcrypt:

    ./configure --with-gcrypt make

  • Установка:

    make install

  • Установка (с удалением отладочной информации из бинарников):

    make install-strip

  • Установка со внешними скриптами:

    ./configure --with-experimental --with-ext-scripts make make install

  • Тестирование (с sqlite, экспериментальными инструментами и pcre2)

    ./configure --with-experimental make make check

  • Компиляция в OS X с macports (и всеми параметрами):

    ./configure --with-experimental gmake

  • Компиляция в macOS на M1/AARCH64 с Homebrew:

    autoreconf -vif env CPPFLAGS="-Wno-deprecated-declarations" ./configure --with-experimental make make check

  • Компиляция в OS X 10.10 с XCode 7.1 и Homebrew:

    env CC=gcc-4.9 CXX=g++-4.9 ./configure make make check

    ПРИМЕЧАНИЕ: Старые версии XCode поставляются с версией LLVM, которая не поддерживает определение возможностей процессора; это вызывает сбой ./configure. Чтобы обойти эту проблему со старым LLVM, необходимо использовать другой компилятор, такой как GCC или более новая версия LLVM из Homebrew.

    Если вы хотите использовать OpenSSL из Homebrew, возможно, потребуется указать путь к его установке. Чтобы узнать, где находится OpenSSL, выполните:

    brew --prefix openssl

    Используйте вывод выше как DIR для --with-openssl=DIR в строке ./configure:

    env CC=gcc-4.9 CXX=g++-4.9 ./configure --with-openssl=DIR make make check

  • Компиляция в FreeBSD с gcc9

    env CC=gcc9 CXX=g++9 MAKE=gmake ./configure gmake

  • Компиляция в Cygwin с Airpcap (предполагается, что пакет разработки Airpcap распакован в каталоге Aircrack-ng)

    cp -vfp Airpcap_Devpack/bin/x86/airpcap.dll src cp -vfp Airpcap_Devpack/bin/x86/airpcap.dll src/aircrack-osdep cp -vfp Airpcap_Devpack/bin/x86/airpcap.dll src/aircrack-crypto cp -vfp Airpcap_Devpack/bin/x86/airpcap.dll src/aircrack-util dlltool -D Airpcap_Devpack/bin/x86/airpcap.dll -d build/airpcap.dll.def -l Airpcap_Devpack/bin/x86/libairpcap.dll.a autoreconf -i ./configure --with-experimental --with-airpcap=$(pwd) make

  • Компиляция в DragonflyBSD с gcrypt, используя GCC 8

autoreconf -i env CC=gcc8 CXX=g++8 MAKE=gmake ./configure --with-experimental --with-gcrypt gmake

  • Компиляция в OpenBSD (с autoconf 2.69 и automake 1.16)

export AUTOCONF_VERSION=2.69 export AUTOMAKE_VERSION=1.16 autoreconf -i env MAKE=gmake CC=cc CXX=c++ ./configure gmake

  • Компиляция и отладка aircrack-ng

export CFLAGS='-O0 -g' export CXXFLAGS='-O0 -g' ./configure --with-experimental --enable-maintainer-mode --without-opt make LD_LIBRARY_PATH=.libs gdb --args ./aircrack-ng [ПАРАМЕТРЫ]

Разработка в IDE

VS Code - devcontainers

Среда разработки для VS Code предоставляется как есть для быстрой настройки среды разработки. Это также добавляет поддержку GitHub Codespaces.

Требования

Первым требованием является работающая среда Docker Engine.

Далее, установка VS Code со следующим расширением(ями):

Расширение "Remote - Containers" отказывается работать с OSS Code.

Использование

  1. Клонируйте этот репозиторий в ваш рабочий каталог:
$ git clone --recursive https://github.com/aircrack-ng/aircrack-ng.git
$ cd aircrack-ng
  1. После клонирования этого репозитория откройте каталог в VS Code.
$ code .

ВАЖНО: Вы должны ответить "Да", если спрашивается, следует ли открыть каталог внутри удаленного контейнера. Если вопрос не задается, нажмите Ctrl+Shift+P и введите open in container. Это должно вызвать правильную команду, нажатие Enter запустит эту команду.

  1. Может появиться несколько предупреждений об отсутствующем файле compile_commands.json. Ими можно пока пренебречь, так как этот файл автоматически генерируется после первичной компиляции.
  2. Теперь соберите весь проект, нажав Ctrl+R и выбрав Build Full из всплывающего меню.
  3. VS Code должен обнаружить файл compile_commands.json и спросить, следует ли его использовать; выбор "Да, всегда" завершит первоначальную настройку полностью функциональной IDE.

    ВАЖНО: Если файл не обнаружен, нажмите Ctrl+Shift+P и введите reload window, чтобы появился выбор для полной перезагрузки среды.

  4. На этом этапе практически все функции VS Code будут работать: от Intellisense, автодополнения, живой документации до форматирования кода. Кроме того, есть предварительно настроенные задачи для сборки и тестирования, а также пример конфигурации GDB/LLDB для отладки aircrack-ng.

Упаковка

Автоматическое определение оптимизации для процессора выполняется во время выполнения. Это поведение является желательным при упаковке Aircrack-ng (для Linux или другого дистрибутива).

Также, в некоторых случаях может потребоваться полностью предоставить свои собственные флаги и неAllow the suite to automatically detect a number of optimizations. To do this, add the additional flag --without-opt to the ./configure line:

./configure --without-opt

Использование предкомпилированных бинарных файлов

Linux/BSD

Aircrack-ng доступен в репозиториях большинства дистрибутивов. Однако он не всегда актуален.

Windows

  • Установите соответствующий "мониторный" драйвер для вашей карты; стандартные драйверы не работают для захвата данных.
  • Комплект инструментов Aircrack-ng — это инструменты командной строки. Поэтому вы должны открыть командную строку Пуск -> Выполнить... -> cmd.exe и затем использовать их.
  • Запустите исполняемые файлы без каких-либо параметров, чтобы получить справку.

Документация

Более подробная информация представлена в файле README.

Документация, учебные пособия и т.д. доступны на сайте https://aircrack-ng.org.

Поддержка доступна в GitHub Discussions и на IRC (в #aircrack-ng на Libera Chat).

Каждый инструмент имеет собственную man-страницу. Для aircrack-ng — man aircrack-ng.

Инфраструктурные спонсоры

Комментарии
Войдите, чтобы оставить комментарий