tcpdump не захватывает http или tcp/ssl трафик

Вопрос или проблема

Я пытался изучить tcpdump, и использую эту команду, чтобы попытаться мониторить мою сеть:

sudo tcpdump -I -i en1

Но это дает мне кучу лишнего, поэтому я использовал эту версию для фильтрации пакетов:

sudo tcpdump -I -i en1 port 80 or 443

И она не дает мне ничего. Я знаю, что не можете использовать WiFi в режиме мониторинга, но я все еще могу, так что думаю, это знак того, что что-то не так. Я пробовал с en0, но она не могла перейти в режим мониторинга.

Что я делаю не так?

Я использую MacBook Pro с OS X 10.9.3 и хотел бы иметь возможность делать это с помощью tcpdump или любой другой утилиты, встроенной в OS X.

Иногда трафик буферизуется или задерживается ответами DNS-сервера. Чтобы избежать этого, добавьте параметры -l и -n.

-l Делает стандартный вывод строковым буферизированным. Полезно, если вы хотите видеть данные во время их захвата.

-n Не конвертирует адреса (т.е. адреса хостов, номера портов и т.д.) в имена.

Затем вы можете использовать синтаксис, например:

sudo tcpdump -i en1 -nl port http or port https

Для более сложных запросов убедитесь, что используете скобки для группировки выражений.

Ответ или решение

Когда вы работаете с утилитой tcpdump для мониторинга сетевого трафика на своем MacBook Pro, и замечаете, что не удается захватить трафик HTTP (порт 80) или TCP/SSL (порт 443), возможно, имеется несколько причин, объясняющих это поведение. Рассмотрим основные моменты, которые могут помочь в решении вашей проблемы.

1. Правильный интерфейс

Убедитесь, что вы используете правильный сетевой интерфейс. Ваша команда sudo tcpdump -I -i en1 указывает на интерфейс en1, который может быть не тем интерфейсом, через который идет интернет-трафик. Чтобы определить правильный интерфейс, выполните команду:

ifconfig

И проверьте, какой интерфейс активен и использует сеть. Иногда основной интерфейс Wi-Fi может иметь другой номер (например, en0).

2. Режим мониторинга

Существует возможность, что вы пытаетесь запустить tcpdump в режиме мониторинга (флаг -I), который, как вы упомянули, может ограничить функциональность сети. При этом обратите внимание, что при включении режима мониторинга вы можете не получать трафик от собственных устройств, поскольку ваш интерфейс будет настроен для захвата трафика, проходящего через него, а не за его пределами. Убедитесь, что режим мониторинга действительно нужен для ваших задач, и попробуйте выполнить tcpdump без него.

3. Фильтрация трафика

Ваш первоначальный фильтр port 80 or 443 был правильным, однако рекомендуется уточнить этот запрос, используя группы:

sudo tcpdump -i en1 -nl '(port 80 or port 443)'

Параметры -n и -l, которые вы упомянули, могут улучшить визуализацию данных.

4. Перехват SSL-трафика

Отмечу, что трафик, использующий SSL (например, HTTPS), не может быть отображен в читаемом виде из-за шифрования. Если вы захватываете HTTPS-трафик, вы не сможете увидеть содержимое HTTP-запросов без предварительной настройки анализа SSL.

5. Возникновение временных задержек

Вы также упомянули о возможной задержке, вызванной ответами DNS-серверов. Использование флагов -l и -n помогает устранить такой эффект, так как они обеспечивают немедленный вывод информации в командной строке без дополнительного буферизации.

6. Альтернативные инструменты

Если проблема с tcpdump сохраняется, вы можете попробовать другие встроенные утилиты macOS, такие как WireShark или Little Snitch. Эти приложения могут предоставить более визуальный интерфейс и более интуитивные функции для анализа сетевого трафика.

Заключение

В случае, если ни один из предложенных выше пунктов не помогает, стоит рассмотреть возможность обновления операционной системы, так как более новые версии могут иметь улучшенные функции сетевогодiagnostiki и совместимости. Надеюсь, эти рекомендации помогут вам настроить tcpdump и успешно захватить трафик HTTP и TCP/SSL на вашем MacBook Pro.

Оцените материал
Добавить комментарий

Капча загружается...