Наиболее полное руководство по перехвату пакетов для RouterOS: включая графический режим и режим командной строки.
Наиболее полное руководство по перехвату пакетов для RouterOS: включая графический режим и режим командной строки.

1. Предисловие

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

Принимая во внимание сложность и ограничения каждой среды, в этой статье будут описаны методы захвата пакетов в двух измерениях: графическом и командной строке. Также будет подробно описано, как настроить и использовать функцию захвата пакетов RouterOS, а также как интерпретировать и анализировать. захваченные сетевые данные.

2. Графический захват пакетов

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

1.Packet Sniffer

1) скачать винбокс

Захват пакетов в графическом интерфейсе,Вам нужно использовать клиентский инструмент Ros Winbox.,winboxМожно найти вОфициальный сайт Росскачать:

2) Обзор опций

После входа в Рос с помощью winbox нажмите Tools --> Packet Sniffer Вот где находится инструмент захвата пакетов:

Первоначальный интерфейс выглядит следующим образом и разделен на три части конфигурации: «Общие», «Потоковая передача» и «Фильтр». Далее будет объяснено значение параметров каждой опции.

3) Общее описание опции

Значение общего параметра опции:

  • Memory Limit:Максимальный объем используемой памяти,По умолчанию 100 КБ;
  • Only Headers:Собирать только информацию заголовка;
  • Memory Scroll:Захваченные пакеты сохраняются в памяти,до тех пор, пока буфер прокрутки памяти не заполнится. Как только буфер достигнет предела своей емкости,Самые старые захваченные пакеты будут отброшены, чтобы освободить место.,И новые пакеты данных продолжат записываться в буфер;
  • File Name:Имя файла, сохраненное после захвата пакета.,Вы можете оставить это поле пустым, если не хотите его сохранять;
  • File Limit:Ограничение размера файла захвата пакетов,По умолчанию — 1000 КБ.

4) Описание параметров потоковой передачи

Значение параметра опции потоковой передачи:

  • Streaming Enabled:ОткрытьStreamingПараметры,Переслать захваченные пакеты данных на указанный адрес;
  • Server:Перенаправлено партнеруIPадрес;
  • Port:Порт, перенаправленный партнеру;
  • Filter Stream:фильтровать поток,Фильтровать определенные потоки,Только после включения этого параметра,Могут действовать только настройки параметров опции «Фильтр».

5) Описание опции фильтра

Фильтр — это конкретное правило фильтрации. Следующие параметры являются краткими и полными и используются для указания конкретного интерфейса и фильтрации пакетов по определенному IP-адресу, Mac-адресу, типу протокола, порту, входящему и исходящему направлению и т. д.:

6) Настройки захвата пакетов

Например, если вы хотите указать перехваченные пакеты в файле test.pcap, установите следующие параметры. Максимальный размер файла перехваченного пакета — 1000 МБ, а максимальное использование памяти — 500 МБ. Для захвата всех пакетов порта WAN. , вы можете установить следующие настройки:

7) Запустите захват пакетов

После установки вышеуказанных параметров нажмите «Применить» справа, укажите правило, а затем нажмите «Запустить». В это время Sniffer уже находится в рабочем состоянии:

Затем вы можете нажать справаPacketsConnectionsHostsProtocols,Просматривайте пакеты данных, соединять, Хозяин, Конкретные в реальном времени соответственно категории, такие как соглашения:

После захвата нажмите «СТОП», чтобы остановить захват пакета, и будет создан файл test.pcap размером 55 МБ:

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

Захваченный пакет представляет собой исходные данные без какой-либо другой специальной упаковки:

2.Wireshark

Если мы не хотим хранить захваченные пакеты на ros, мы можем установить опцию потоковой передачи, чтобы ros пересылал полученные пакеты на другие серверы.

1) Общая конфигурация опций

Аналогичным образом мы ограничиваем максимальный объем памяти 500 МБ, File Limit и File Name задавать не нужно, и нам не нужно сохранять в файл:

2) Настройка параметров потоковой передачи

Установите флажок «Включена потоковая передача» и укажите Сервер в качестве IP-адреса назначения и порт, который принимает перехват пакетов. Это может быть любой IP-адрес, включая внутренние и внешние сети:

3) Конфигурация параметров фильтра

В качестве примера возьмите протокол ICMP порта wan:

Нажмите «Применить настройки приложения» справа и нажмите «Пуск», чтобы начать перехват пакетов.

4) Захватите сообщение на целевом сервере.

Войдите на указанный сервер и используйте инструмент захвата пакетов для захвата данных через порт 37008.

проходитьudp.port eq 37006Фильтровать поrosПересланное сообщение,Во-первых, внешний протокол инкапсулируется через IPIP.,Только сервер может получить пакет, пересылаемый внешним уровнем.,Внутренний уровень — это исходные пакетные данные отправки и получения ros:

3. Захват пакетов командной строки

Захват пакетов из командной строки заключается в повторной установке параметров вышеуказанного графического интерфейса, другой разницы нет.

1.Sniffer

Сначала подключитесь к маршрутизаторам по SSH и выполните следующую команду для входа в сниффер:

Язык кода:shell
копировать
[RokasYang@MikroTik] > /tool/sniffer/
[RokasYang@MikroTik] /tool/sniffer>

Нажмите Tab, чтобы увидеть следующие команды в сниффере:

1)edit file-name/edit file-limit

Если вы хотите сохранить пакет в ros, выполните команду редактирования имени файла, а затем войдите в режим редактора. После написания команды файла нажмите ctrl + o, чтобы сохранить и выйти.

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> edit file-name

Затем отредактируйте ограничение размера файла захвата:

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> edit file-limit
[RokasYang@MikroTik] /tool/sniffer>

2)edit memory-limit

Аналогичным образом отредактируйте ограничение памяти — 512 МБ.

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> edit memory-limit

3)edit streaming-enabled

Захваченные пакеты сохраняются в локальный файл, и нет необходимости пересылать пакеты на другие серверы. Убедитесь, что эта опция находится в состоянии «нет»:

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> edit streaming-enabled

4)edit filter

Редактирование правил фильтрации может соответствовать параметрам графического интерфейса. Просто отредактируйте тот, который необходимо установить.

Например, чтобы перехватывать сообщения ICMP с порта pppoe-out1, вы можете установить:

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> edit filter-interface   # Напишите pppoe-out1
[RokasYang@MikroTik] /tool/sniffer> edit filter-ip-protocol # написать ICMP

5)start/packet print

Выполните команду start, чтобы начать захват пакетов. Используйте команду печати пакетов для вывода перехваченных запросов:

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> start
[RokasYang@MikroTik] /tool/sniffer> packet print interval=5

Интервал представляет собой интервал обновления, который обновляется каждые 5 секунд.

6)connection/protocol/host print

Во время процесса захвата пакетов вы можете попытаться отобразить информацию о соединении, информацию о протоколе и информацию о хосте, а также установить интервал обновления. Поскольку протокол ICMP, указанный для захвата, не имеет концепции соединения, печать соединения не может фильтровать содержимое.

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> protocol print
Columns: PROTOCOL, IP-PROTOCOL, PACKETS, BYTES, SHARE
#  PROTOCOL  IP-PROTOCOL  PACKETS  BYTES  SHARE
0  ip                         213  20586  100%
1  ip        icmp             213  20586  100%
[RokasYang@MikroTik] /tool/sniffer> host print
Columns: ADDRESS, RATE, PEAK-RATE, TOTAL
#  ADDRESS          RATE           PEAK-RATE        TOTAL
0  113.87.50.124    672bps/672bps  1952bps/7.2kbps  8560/13238
1  113.132.176.42   0bps/0bps      0bps/1280bps     0/160
2  114.114.114.114  0bps/0bps      2.7kbps/0bps     886/0
3  114.132.168.144  672bps/672bps  672bps/672bps    8400/8400
4  117.152.35.93    0bps/0bps      1632bps/0bps     3672/0
5  119.29.29.29     0bps/0bps      2.2kbps/0bps     280/0
[RokasYang@MikroTik] /tool/sniffer> connection print

7)stop

Чтобы прекратить перехват пакетов, просто выполните команду stop. Определенный ранее test.pcap будет сохранен по пути к файлу:

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> /file print where name ~ "test"
Columns: NAME, TYPE, SIZE, CREATION-TIME
#  NAME       TYPE        SIZE     CREATION-TIME
0  test.pcap  .pcap file  82.7KiB  jul/22/2023 16:21:47
[RokasYang@MikroTik] /tool/sniffer>

8) Включите службу FTP для передачи файлов PCAP.

Когда графического интерфейса нет и удалять файлы из winbox неудобно, для передачи файлов временно можно воспользоваться сервисом ftp:

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> /ip service enable ftp

После запуска службы ftp используйте ftp-клиент, чтобы перенести файл на локальный компьютер:

После того, как файл скачается, просто отключите ftp-сервис по мере необходимости:

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> /ip service disable ftp

Затем вы можете использовать Wireshark для анализа файла перехвата пакетов:

2.Tcpdump

Можно использовать большинство из приведенных выше конфигураций, а затем установить следующие параметры, чтобы позволить ros передавать пакеты данных на указанный сервер, а затем использовать tcpdump на стороне сервера для захвата и сохранения пакетов.

1)edit file-name

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> edit file-name
[RokasYang@MikroTik] /tool/sniffer>

Очистите имя файла, так как нет необходимости сохранять его под ros, ctrl+o для сохранения и выхода.

2)edit streaming-enabled

Измените параметр «Включена потоковая передача» на «Да», нажмите Ctrl + O, чтобы сохранить и выйти.

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> edit streaming-enabled
[RokasYang@MikroTik] /tool/sniffer>

3)edit streaming-server

Напишите IP:PORT-адрес принимающей стороны сервера, нажмите ctrl + o, чтобы сохранить и выйти.

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> edit streaming-server
[RokasYang@MikroTik] /tool/sniffer>

4) Используйте tcpdump на стороне сервера.

Запустите процесс tcpdump на стороне сервера, захватите порт 37008 и запишите его в файл server.pcap:

Язык кода:shell
копировать
tcpdump -i any -nn -s 0 port 37008 -v -w server.pcap

5)start

Выполните start on ros, чтобы начать перехват пакетов:

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> start

Серверная часть может видеть количество перехваченных пакетов в режиме реального времени.,rosХОРОШОпроходитьpacket print interval=1просмотреть данные и1sОбновить один раз:

6)stop

Прекратить захват пакетов:

Язык кода:shell
копировать
[RokasYang@MikroTik] /tool/sniffer> stop

Просто нажмите Ctrl + C, чтобы завершить работу сервера.

Затем вы можете увидеть файл server.pcap.

Если вы не хотите переносить файл в Windows и использовать Wireshark для анализа, то режим командной строки Terminalshark также является хорошим выбором:

Вы можете ясно видеть, что ros использует туннели IPIP для инкапсуляции и пересылки пакетов данных на сервер.

4. Резюме

Являясь мощной операционной системой мягкой маршрутизации в отрасли, RouterOS широко охватывает различные профессиональные сетевые протоколы, что позволяет ей изначально поддерживать захват пакетов, что очень полезно для устранения неполадок в сети, устранения неполадок маршрутизации, устранения неполадок протоколов и т. д. Ее можно описать как операционная система маршрутизации профессионального уровня.

В этой статье в качестве примера используется захват ICMP, чтобы не быть слишком длинным. Другие параметры фильтрации, включая фильтрацию IP-адресов, фильтрацию Mac-адресов, фильтрацию портов и т. д., не показаны по одному. Захват наиболее полезных пакетов основан на реальных сценариях спроса. устранение неполадок сети более эффективно.

Поставляется с PDF-версией:

Наиболее полное руководство по перехвату пакетов для RouterOS: включая графический режим и режим командной строки.pdf
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose