Я пытаюсь отфильтровать пакеты, в которых 15-й байт (т. е. 1-й байт полезной нагрузки после 14-байтового заголовка) представляет собой определенное значение, либо 0x00
, либо 0x01
.
Пакеты, которые меня интересуют, представляют собой необработанный ethernet, то есть на уровне управления логической связью, поэтому я также фильтрую LLC в качестве протокола.
Вот что я пробовал:
llc && (frame[14:1] == 00 || frame[14:1] == 01)
это становится зеленым, поэтому я уверен, что синтаксис правильный. Он отображает только пакеты, где протокол LLC, но также пропускает пакеты, где 15-й байт равен 0x02
, чего я хочу избежать
Любые идеи, как я могу успешно нацелиться на значение 15-го байта или, другими словами, на значение 1-го байта полезной нагрузки?
пример пакета (скопирован из wirehark), где 15-й байт равен 0x00
:
0000 01 01 01 01 01 01 02 02 02 02 02 02 00 0e 00 05 ................
0010 00 00 00 05 00 00 00 00 00 00 00 01 ............
пример пакета, где 15-й байт равен 0x01
:
0000 02 02 02 02 02 02 01 01 01 01 01 01 00 0a 01 05 ................
0010 00 00 00 0d 00 00 00 f1 00 00 00 00 00 00 00 00 ................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030 00 00 00 00 00 00 00 00 00 00 00 00 ............
Я бы хотел, чтобы wireshark отображал оба этих пакета
Существует 3-й тип пакета, где 15-й байт равен 0x02
:
0000 02 02 02 02 02 02 01 01 01 01 01 01 00 39 02 ec .............9..
0010 41 61 02 a2 21 44 2b 0c 00 02 00 1c 0c 02 00 00 Aa..!D+.........
0020 00 00 00 00 00 00 00 00 00 00 00 ee 91 20 04 46 ............. .F
0030 22 44 2b cc 01 03 00 00 00 00 00 00 00 00 00 00 "D+.............
0040 00 00 00 00 00 00 00 .......
Этот тип пакетов я хотел бы исключить с помощью фильтра. Мой фильтр выше по-прежнему отображает эти 0x02
пакетов.
text2pcap
, чтобы преобразовать эти 3 пакета в файл pcap, а затем применил ваш фильтр. Это сработало именно так, как ожидалось, поэтому я не могу воспроизвести вашу проблему. Для справки: я использую Wireshark 2.4.0 в 64-битной Windows. - person Christopher Maynard   schedule 18.10.2017(llc.dsap == 0 || llc.dsap == 1)
или, проще говоря,llc.dsap.sap == 0
? - person Christopher Maynard   schedule 18.10.2017