Как видеть коммуникацию протокола сети приложения в режиме реального времени

3 ответа

Необходимо будет сделать некоторую фильтрацию для ограничения tcpdump просто данными, которые Вы хотите. Пример состоял бы в том, чтобы только искать трафик, включающий и хост a, и разместить b, будет

tcpdump $options host a and host b 

Я обычно использую-n,-X,-vv, и-s0 опции с tcpdump. Можно также отфильтровать на основе портов и многих других вещей. Чтобы посмотреть на smtp разговор между хостом a и разместить b, Вы могли выполнить tcpdump больше как:

tcpdump -n -X -vv -s0  host a and host b and port smtp

Который ограничит отображенные данные тем вовлечением ldap порта, разместить a и разместить b. Если какой-либо из этих 3 пропускает его, привычка отображена. Страница справочника будет иметь намного больше информации о фильтрации.

Надо надеяться, это помогает, Rik

1
ответ дан 4 December 2019 в 11:21

Можно легко отфильтровать, какие пакеты tcpdump ловит. Я предполагаю, что Вы знаете, на каком порте Ваше приложение связывается? Скажем, например, то, что Вы хотите получить весь трафик в порте 12345. Затем Вы работали:

$ tcpdump port 12345

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

$ tcpdump -s0 -w packets.log port 12345
4
ответ дан 4 December 2019 в 11:21

Если протокол основан на тексте (например, HTTP, SMTP, и т.д.), мне нравится ngrep. Это использует libpcap как tcpdump делает, таким образом, синтаксис фильтрации является тем же. Различие - то, что его вывод приспособлен к отображению полезной нагрузки пакета, и это позволит Вам ограничить вывод пакетами, соответствующими регулярному выражению.

Например, для наблюдения попыток доставки почты Вы могли бы сделать:

ngrep -d eth0 -qlM -s 0 -W byline '^MAIL FROM:|^RCPT TO:' 'tcp port 25'
1
ответ дан 4 December 2019 в 11:21

Теги

Похожие вопросы