tshark использует другой синтаксис с wireshark?

Строго говоря это не может быть необходимо, однако, иметь в виду, что брандмауэр может обеспечить больше функциональности, чем простой отказ от соединений по сетевым портам. Например, ОТБРАСЫВАНИЕ по сравнению с поведением ОТКЛОНЕНИЯ.

4
30.12.2012, 14:51
2 ответа

Существует различие между более простыми фильтрами получения и более мощными фильтрами дисплейного отображения.

!ssh фильтр дисплейного отображения. Можно использовать его с tshark как

tshark -R '!ssh'

Подобный эффект с фильтрами получения:

tshark 'not tcp port 22'

Обратите внимание на то, что tshark имеет фильтры получения по умолчанию при выполнении его по ssh.

5
27.01.2020, 20:54
  • 1
    +1 для фильтра получения и фильтров дисплейного отображения! никогда не слышал о, Спасибо! –  daisy 30.12.2012, 15:04

Как сказал @jofel в своем ответе и как я подробно объясняю в моем wireshark tutorial для новичков - есть разница между фильтрами отображения и фильтрами захвата.

Фильтры захвата

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

фильтры захвата . Определив фильтр захвата, Вы можете сказать Wireshark перехватить только некоторые подмножества сетевого трафика. Вы можете фильтровать по IP-адресам, диапазону IP-адресов, номерам портов, протоколу и так далее.

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

Вот документация по синтаксису фильтров захвата

Отображаемые фильтры** - это еще одна история

Отображаемые фильтры отличаются от фильтров захвата. Они ограничивают только то, что вы видите в данный момент в интерфейсе wireshark (или вывод tshark на консоль) - гораздо более продвинутые и используют другой синтаксис. Вы можете использовать большинство пакетных полей, распознаваемых анализаторами, с различными операторами - сравнение строк, проверка значений и так далее.

То, что вы вводите в GUI-панели инструментов Wireshark, это фильтр отображения. Настоятельно рекомендую поиграть с окном "expressions" (выражения) рядом с ним. Это одна из наиболее важных и часто используемых возможностей wireshark.

Причина, по которой Вы не можете использовать фильтр захвата "не ssh" захват , заключается в том, что фильтры захвата работают на более низком уровне, чем фильтры отображения. Wireshark еще не "знает", какой это протокол для каждого пакета, когда он выполняет фильтрацию захвата. Это анализ более высокого уровня, выполняемый диссекторами.

Для фильтрации всего, кроме трафика SSH на уровне захвата, вы должны отфильтровать трафик на порту 22, т.е. с помощью "не порт 22" фильтра захвата.

Если дело доходит до tshark

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

пример фильтра захвата: tshark -f "не порт 22"

пример фильтра отображения: tshark -R "не ssh"

Другое дело, что Вы использовали !ssh, в то время как восклицательный знак на некоторых популярных unix-оболочках (например, bash) имеет особое значение и интерпретируется оболочкой до того, как он будет передан приложению, которое Вы собираетесь выполнить. Вы должны экранировать его таким образом \! ssh или просто использовать не логический оператор, который поддерживается как фильтрами захвата, так и фильтрами отображения.

Надеюсь, это исчерпывающий ответ и оправдывает мою бесстыдную вилку в начале :)

.
0
27.01.2020, 20:54

Теги

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