tshark с --export-dicom выдает «Ошибка сегментации (дамп ядра)»

Сценарий: у меня есть два док-контейнера: A (ubuntu) и B (debian). Мой хост - сервер ubuntu.

Контейнер A анализирует трафик на хосте и записывает файл pcap на смонтированный том (bind). Контейнер B обращается к тому же тому (смонтированному, привязанному) для извлечения объекта из файлов pcap.

Когда я запускаю команду tshark tshark -r pcapfile.pcap --export-objects "dicom, targetfolder" внутри контейнера B, на выходе возникает ошибка сегментации (сброс ядра).

Мое лучшее предположение до сих пор заключается в том, что у меня проблема с правами доступа, хотя оба контейнера обращаются к тому как root, и изменение прав доступа к файлу также не помогло.

Я на неправильном пути? Эта ошибка связана с проблемой разрешения? Что я могу сделать, чтобы оба контейнера использовали один и тот же смонтированный том на хосте?

РЕДАКТИРОВАТЬ:
Ошибка исправлена. См. ошибку Wireshark 16748.


person Furin    schedule 17.07.2020    source источник


Ответы (1)


Я на неправильном пути?

Да.

Эта ошибка связана с проблемой разрешения?

No.

Это связано с ошибкой в ​​Wireshark; tshark ... выдает ошибку сегментации (сброс ядра) означает, что в tshark есть ошибка.

Сообщите об этом как об ошибке на Wireshark Bugzilla.

person user13951124    schedule 18.07.2020
comment
Когда я запускаю команду на хосте, она работает без проблем. Прежде чем добавлять новую ошибку в Wireshark, я хотел бы понять, как это как-то связано с контейнером докеров. - person Furin; 18.07.2020
comment
Я имею в виду, есть ли у вас какие-либо предложения, как это отладить? - person Furin; 18.07.2020
comment
Когда я запускаю команду на хосте, она работает без проблем. Прежде чем добавлять новую ошибку в Wireshark, я хотел бы понять, как это как-то связано с контейнером докеров. Вы предполагаете, что это связано с работой в док-контейнере. Например, может случиться так, что какой-то параметр настройки Wireshark на хосте приводит к тому, что ошибочный код в Wireshark не используется, но этот параметр предпочтения не был скопирован в контейнер докера, поэтому код ошибки является использовал. - person user13951124; 19.07.2020
comment
Я имею в виду, есть ли у вас какие-либо предложения, как это отладить? Найдите файл дампа ядра, запустите отладчик (gdb) для исполняемого файла TShark и дампа ядра и выполните команду backtrace. Затем возьмите результаты этого и поместите их в отчет об ошибке, чтобы разработчики Wireshark указали, где находится их ошибка. - person user13951124; 19.07.2020
comment
Обратите внимание, что согласно ваш вопрос и ответ по Wireshark, версия TShark в контейнере отличается от версии на хосте, поэтому это может не иметь никакого отношения к запуску в контейнере или к проблеме с разрешениями, это может быть просто быть ошибкой в ​​Wireshark 3.2.3, которой нет в Wireshark 2.6.10. - person user13951124; 20.07.2020
comment
Подтверждаю, что проблема только с версией 3.2, при переходе на версию 2.6 и Ubuntu18.4 у меня больше нет этой ошибки. Спасибо за поддержку. - person Furin; 22.07.2020
comment
Если вы хотите поблагодарить нас за поддержку, пожалуйста, не просто говорите, что старый Wireshark, проблема решена! - получить трассировку стека или предоставить образец захвата, который вызывает проблему, и сделать отчет об ошибке, чтобы мы (разработчики Wireshark) могли попытаться исправить проблему, поэтому другое пользователи с 3.2 (у которых может не быть возможности вернуться к 2.6 или 3.0, если в нем нет ошибки) также могут получить исправление. - person user13951124; 26.07.2020
comment
Это не имеет ничего общего с Docker или разрешениями; его можно воспроизвести без Docker, как указано в ошибке Wireshark 16748. - person user13951124; 06.08.2020
comment
согласно ошибке Wireshark 16748. Теперь эта ошибка исправлена. - person user13951124; 07.08.2020