Wireshark · 2 min read · Dec 17, 2025

Удалённый захват Wireshark

Удалённый захват Wireshark

Фалько написал хороший учебник с несколькими скриншотами по основному использованию Wireshark.

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

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

В следующей статье описывается способ, которым я установил и использовал программное обеспечение, я не даю никаких гарантий, что тот же способ сработает для вас. У вас должны быть некоторые базовые знания о том, как работать в оболочке. Поскольку Wireshark работает на большом количестве платформ, это должно работать на почти каждой платформе, поддерживаемой Wireshark и Open-SSH. В моем случае были задействованы Debian и Ubuntu.

1. Проблема

Случилось так, что у нас были некоторые тонкие проблемы с DNS, а именно с обратным DNS. Наша настройка проста, у нас есть локальные DNS-серверы, которые перенаправляют все запросы, которые они не могут разрешить, на вышестоящий DNS, который должен позаботиться о дальнейшей резолюции имен. Вышестоящий DNS администрируется другой организацией, что привело к обычному указанию пальцем: “мы не виноваты, наше оборудование работает хорошо, мы должны выставить вам счета, бла-бла-бла…”. Вздох. Поэтому я задумался, как эту проблему можно дополнительно проанализировать, и быстро вспомнил о своей системе, описанной в https://www.howtoforge.com/trafficanalysis-using-debian-lenny. Отлично, подумал я, этот компьютер уже находится рядом с вышестоящим, и должно быть легко мониторить весь трафик, который проходит через вышестоящий, и взглянуть на весь трафик, связанный с DNS, чтобы увидеть, что происходит.

Моя первая идея заключалась в том, чтобы установить Wireshark непосредственно на этот компьютер, и с помощью небольшого X11-перенаправления увидеть, что происходит на вышестоящем. Но не хватало места на диске, чтобы установить Wireshark и все связанные с X11 библиотеки.

2. Решение

Моя следующая идея заключалась в том, чтобы захватить трафик на пробе в файл, скопировать этот файл на мой обычный компьютер и прочитать его в Wireshark. Но как это громоздко, долго, копировать файлы или, по крайней мере, монтировать диски по сети. Но решение так просто. Установите tshark (младший брат Wireshark в текстовом режиме) на пробе, вызовите его удаленно с помощью ssh и напрямую передайте вывод tshark в Wireshark! Это решение из Wiki Wireshark, но простота вдохновила и удивила меня написать этот короткий учебник.

  • Настройте безпарольный ssh-вход на пробе, как описано, например, здесь, и проверьте, что это работает.
  • На вашем локальном компьютере, где установлен Wireshark и который ждет, чтобы сделать что-то полезное, просто вызовите его с помощью
wireshark -k -i <( ssh -l root IP-of-probe /usr/bin/tshark -i eth0 -w - port 53 )

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

В моем случае мне не нужно было фильтровать ssh-трафик (как в примере в Wiki Wireshark), потому что прослушивание происходит на eth0, а ssh-трафик проходит через eth1.

Существуют и другие методы, описанные в Wiki Wireshark, использующие именованные каналы, но этот метод с использованием ssh показался мне самым простым в настройке.

Одна небольшая проблема, с которой я столкнулся, заключалась в том, что завершение работы Wireshark не завершало tshark на пробе, но команда

pkill tshark

на пробе помогла, или, если вы не вошли в систему на пробе,

ssh root@probe pkill tshark

тоже должно сработать.

Что касается нашей проблемы с DNS, я сразу мог увидеть, что происходит. ;-)

3. URL

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.