Инструкция · 6 min read · Oct 10, 2025

Как установить инструмент захвата пакетов Arkime Moloch на Ubuntu 22.04

Arkime — это бесплатный, с открытым исходным кодом, масштабируемый инструмент захвата и поиска пакетов, который хранит и индексирует сетевой трафик в формате PCAP. Он также известен как Moloch, который предназначен для развертывания на нескольких кластеризованных системах, обеспечивая возможность масштабирования для обработки нескольких гигабит в секунду трафика. Arkime имеет встроенный интерфейс администратора, который помогает вам просматривать, искать и экспортировать PCAP. Вы можете использовать другие инструменты для анализа PCAP для анализа вашего рабочего процесса.

Этот учебник покажет вам, как установить инструмент захвата пакетов Arkime на Ubuntu 22.04.

Предварительные требования

  • Сервер с установленной Ubuntu 22.04.
  • Пароль root, настроенный на сервере.

Начало работы

Перед началом вам нужно будет обновить пакеты вашей системы до последней версии. Вы можете обновить их с помощью следующей команды:

apt-get update -y

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

apt-get install gnupg2 curl wget -y

Затем вам также нужно будет установить библиотеки Libssl и Libffi в вашу систему. Вы можете загрузить и установить обе, выполнив следующую команду:

wget http://es.archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi7_3.3-4_amd64.deb  
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb  
dpkg -i libffi7_3.3-4_amd64.deb  
dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb  
ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/local/lib/  
ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7 /usr/local/lib/

После установки всех пакетов вы можете перейти к следующему шагу.

Установка Elasticsearch

Arkime использует Elasticsearch для индексации и поиска. Поэтому Elasticsearch должен быть установлен в вашей системе. По умолчанию последняя версия Elasticsearch не включена в стандартный репозиторий Ubuntu. Поэтому вам нужно будет добавить репозиторий Elasticsearch в вашу систему.

Сначала добавьте GPG-ключ с помощью следующей команды:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch --no-check-certificate | apt-key add -

Затем добавьте репозиторий Elasticsearch в APT с помощью следующей команды:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list

Далее обновите репозиторий и установите пакет Elasticsearch с помощью следующей команды:

apt-get update -y  
apt-get install elasticsearch -y

После установки Elasticsearch отредактируйте файл конфигурации Elasticsearch и установите память Java:

nano /etc/elasticsearch/jvm.options

Измените следующие строки:

-Xms500m
-Xmx500m

Сохраните и закройте файл, затем включите службу Elasticsearch, чтобы она запускалась при перезагрузке системы, с помощью следующей команды:

systemctl enable --now elasticsearch

По умолчанию Elasticsearch слушает на порту 9200. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 9200

Вы должны получить следующий вывод:

LISTEN 0      4096   [::ffff:127.0.0.1]:9200            *:*    users:(("java",pid=30581,fd=291))                                                                                                                                                                                                                                                                                
LISTEN 0      4096                [::1]:9200         [::]:*    users:(("java",pid=30581,fd=290))                                                                                                                                                                                                                                                                                

Вы также можете проверить Elasticsearch с помощью следующей команды:

curl http://localhost:9200

Вы должны получить следующий вывод:

{
  "name" : "ubuntu2204",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "6QiUfVa4Q9G8lxHjuVLjUQ",
  "version" : {
    "number" : "7.17.5",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "8d61b4f7ddf931f219e3745f295ed2bbc50c8e84",
    "build_date" : "2022-06-23T21:57:28.736740635Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "Вы знаете, для поиска"
}

На этом этапе Elasticsearch установлен и работает. Теперь вы можете перейти к следующему шагу.

Установка и настройка Arkime

Сначала загрузите последнюю версию Arkime с помощью следующей команды:

wget https://s3.amazonaws.com/files.molo.ch/builds/ubuntu-20.04/arkime_3.4.2-1_amd64.deb

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

apt install ./arkime_3.4.2-1_amd64.deb

После установки Arkime выполните следующую команду для его настройки:

/opt/arkime/bin/Configure

Вам будет предложено указать сетевой интерфейс, как показано ниже:

Found interfaces: lo;eth0;eth1
Semicolon ';' seperated list of interfaces to monitor [eth1] eth0

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

Install Elasticsearch server locally for demo, must have at least 3G of memory, NOT recommended for production use (yes or no) [no] no
Elasticsearch server URL [http://localhost:9200] 
Password to encrypt S2S and other things, don't use spaces [no-default] password
Arkime - Creating configuration files
Installing systemd start files, use systemctl
Arkime - Installing /etc/logrotate.d/arkime to rotate files after 7 days
Arkime - Installing /etc/security/limits.d/99-arkime.conf to make core and memlock unlimited
Download GEO files? You'll need a MaxMind account https://arkime.com/faq#maxmind (yes or no) [yes] no
Arkime - NOT downloading GEO files

Arkime - Configured - Now continue with step 4 in /opt/arkime/README.txt

 4) The Configure script can install elasticsearch for you or you can install yourself
      systemctl start elasticsearch.service
 5) Initialize/Upgrade Elasticsearch Arkime configuration
  a) If this is the first install, or want to delete all data
      /opt/arkime/db/db.pl http://ESHOST:9200 init
  b) If this is an update to a moloch/arkime package
      /opt/arkime/db/db.pl http://ESHOST:9200 upgrade
 6) Add an admin user if a new install or after an init
      /opt/arkime/bin/arkime_add_user.sh admin "Admin User" THEPASSWORD --admin
 7) Start everything
      systemctl start arkimecapture.service
      systemctl start arkimeviewer.service
 8) Look at log files for errors
      /opt/arkime/logs/viewer.log
      /opt/arkime/logs/capture.log
 9) Visit http://arkimeHOST:8005 with your favorite browser.
      user: admin
      password: THEPASSWORD from step #6

If you want IP -> Geo/ASN to work, you need to setup a maxmind account and the geoipupdate program.
See https://arkime.com/faq#maxmind

Any configuration changes can be made to /opt/arkime/etc/config.ini
See https://arkime.com/faq#moloch-is-not-working for issues

Additional information can be found at:
  * https://arkime.com/faq
  * https://arkime.com/settings

После завершения вы можете перейти к следующему шагу.

Инициализация конфигурации Elasticsearch Arkime

Далее вам нужно будет инициализировать конфигурацию Elasticsearch Arkime. Вы можете сделать это с помощью следующей команды:

/opt/arkime/db/db.pl http://localhost:9200 init

Затем создайте учетную запись администратора для Arkime с помощью следующей команды:

/opt/arkime/bin/arkime_add_user.sh admin "Moloch SuperAdmin" password --admin

Далее обновите базу данных Geo с помощью следующей команды:

/opt/arkime/bin/arkime_update_geo.sh

После завершения вы можете перейти к следующему шагу.

Запуск и управление службами Arkime

Arkime состоит из трех компонентов: захват, просмотр и elasticsearch. Поэтому вам нужно будет запустить службу для каждого компонента.

Вы можете запустить службы Arkimecapture и Arkimeviewer и включить их для автоматического запуска при перезагрузке системы с помощью следующей команды:

systemctl enable --now arkimecapture  
systemctl enable --now arkimeviewer

Теперь вы можете проверить статус обеих служб с помощью следующей команды:

systemctl status arkimecapture arkimeviewer

Вы должны получить следующий вывод:

? arkimecapture.service - Arkime Capture
     Loaded: loaded (/etc/systemd/system/arkimecapture.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-08-15 03:55:10 UTC; 1min 0s ago
    Process: 33704 ExecStartPre=/opt/arkime/bin/arkime_config_interfaces.sh -c /opt/arkime/etc/config.ini -n default (code=exited, status=0/S>
   Main PID: 33724 (sh)
      Tasks: 7 (limit: 2242)
     Memory: 213.2M
        CPU: 806ms
     CGroup: /system.slice/arkimecapture.service
             ??33724 /bin/sh -c "/opt/arkime/bin/capture -c /opt/arkime/etc/config.ini  >> /opt/arkime/logs/capture.log 2>&1"
             ??33725 /opt/arkime/bin/capture -c /opt/arkime/etc/config.ini

Aug 15 03:55:09 ubuntu2204 systemd[1]: Starting Arkime Capture...
Aug 15 03:55:10 ubuntu2204 systemd[1]: Started Arkime Capture.

? arkimeviewer.service - Arkime Viewer
     Loaded: loaded (/etc/systemd/system/arkimeviewer.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-08-15 03:08:39 UTC; 47min ago
   Main PID: 31759 (sh)
      Tasks: 12 (limit: 2242)
     Memory: 56.7M
        CPU: 2.127s
     CGroup: /system.slice/arkimeviewer.service
             ??31759 /bin/sh -c "/opt/arkime/bin/node viewer.js -c /opt/arkime/etc/config.ini  >> /opt/arkime/logs/viewer.log 2>&1"
             ??31760 /opt/arkime/bin/node viewer.js -c /opt/arkime/etc/config.ini

Aug 15 03:08:39 ubuntu2204 systemd[1]: Started Arkime Viewer.

Вы можете проверить журнал просмотра с помощью следующей команды:

tail -f /opt/arkime/logs/viewer.log

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

tail -f /opt/arkime/logs/capture.log

Вы должны увидеть следующий вывод:

Aug 15 03:57:20 http.c:389 moloch_http_curlm_check_multi_info(): 2/3 ASYNC 201 http://localhost:9200/arkime_dstats/_doc/ubuntu2204-1408-5 804/159 0ms 20ms
Aug 15 03:57:20 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/arkime_stats/_doc/ubuntu2204?version_type=external&version=66 798/157 0ms 24ms
Aug 15 03:57:22 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/_bulk 715/221 0ms 10ms
Aug 15 03:57:22 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/arkime_stats/_doc/ubuntu2204?version_type=external&version=67 805/158 0ms 12ms
Aug 15 03:57:24 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/_bulk 1471/253 0ms 24ms
Aug 15 03:57:24 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/arkime_stats/_doc/ubuntu2204?version_type=external&version=68 806/157 0ms 18ms
Aug 15 03:57:25 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 201 http://localhost:9200/arkime_dstats/_doc/ubuntu2204-1409-5 808/159 0ms 10ms

Доступ к веб-интерфейсу Arkime

На этом этапе Arkime запущен и слушает на порту 8005. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 8005

Вы должны получить следующий вывод:

LISTEN   0        511                          *:8005                  *:*       users:(("node",pid=11362,fd=20))                                                

Теперь откройте ваш веб-браузер и получите доступ к веб-интерфейсу Arkime, используя URL http://your-server-ip:8005. Вам будет предложено ввести ваше имя пользователя и пароль администратора, как показано ниже:

Введите ваше имя пользователя администратора, пароль и нажмите кнопку Войти. Вы должны увидеть панель управления Arkime на следующей странице:

Заключение

Поздравляем! Вы успешно установили и настроили инструмент захвата пакетов Arkime на сервере Ubuntu 22.04. Теперь вы можете исследовать Arkime для получения дополнительной функциональности и начать захват пакетов. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.