This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

Couldn’t run /usr/bin/dumpcap in child process

0

Hello. I bad speak English. Excuse for my grammar :) I have installed Wireshark 2.0.1 on my computer with Elementary OS (based on Ubuntu) and allowed to run without root rights. If I run it by write in terminal "wireshark", it write me "Couldn't run /usr/bin/dumpcap in child process". Terminal says:

Gtk-Message: Failed to load module "pantheon-filechooser-module"
[3140:3140:0226/195939:ERROR:browser_main_loop.cc(256)] Gtk: Загружаемый модуль тем не найден в module_path: «pixmap»,
[3140:3140:0226/195939:ERROR:browser_main_loop.cc(256)] Gtk: Загружаемый модуль тем не найден в module_path: «pixmap»,
[3140:3140:0226/195939:ERROR:browser_main_loop.cc(256)] Gtk: Загружаемый модуль тем не найден в module_path: «pixmap»,
[3140:3140:0226/195939:ERROR:browser_main_loop.cc(256)] Gtk: Загружаемый модуль тем не найден в module_path: «pixmap»,
[3140:3140:0226/195939:ERROR:browser_main_loop.cc(256)] Gtk: Загружаемый модуль тем не найден в module_path: «pixmap»,
Gtk-Message: Failed to load module "canberra-gtk-module"

"Загружаемый модуль тем не найден в module_path: «pixmap»," - it translate how "downloader modul haven't found in module_path: "pixmap" "

When I run it with root, error message appear and say me: Lua: Error during loading: [string "/usr/share/wireshark/init.lua"]:44: dofile has been disabled due to running Wireshark as superuser. See https://wiki.wireshark.org/CaptureSetup/CapturePrivileges for help in running Wireshark as an unprivileged user.

Please help your foreign friend :)

asked 26 Feb '16, 07:23

Your%20brother's gravatar image

Your brother
6113
accept rate: 0%

1

Can you run dumpcap at the command line? If not you probably don't have the permissions set up correctly.

When Wireshark says "Couldn't run dumpcap in child process" it should say something after that, for example, "Couldn't run dumpcap in child process: permission denied" Does it say anything like that in your case?

I don't think the pixmap-related errors are related to the problem.

(26 Feb '16, 07:49) JeffMorriss ♦
1

Please check that group "wireshark" exists on the machine after installation of wireshark, and if so, make the non-root user under which you run Wireshark a member of that group. Then log in as that user (again) and try running Wireshark again. Details here. To avoid error induction by google translate, I put the Russian version below too.

Проверь, существует ли после инсталяции wireshark группа wireshark. Если да, то сделай того не-рута, под именем которого ты запускаешь Wireshark, членом этой группы. Потом (снова) залогинься под именем данного не-рута и снова попробуй запустить Wireshark.

(26 Feb '16, 08:00) sindy

sindy. Спасибо за ответ на русском)) И так и так уже запускал.

(07 Mar '16, 03:26) Your brother

"I've tried both ways" does not say anything about the result, and does not say anything about the membership of your non-root user in group wireshark.

So please answer the following:

  • can you run dumpcap as root (yes/no)? (можно ли запустить dumpcap под рутом)?

  • can you run Wireshark as non-root and open an already existing capture file (e.g. downloaded from here) (yes/no)? (сможешь ли запустить Wireshark как не-рут и открыть какой-либо из файлов по ссылке)?

  • what does a command-line command groups show on your machine if you issue it as root? (что покажет команда groups под рутом)?

(07 Mar '16, 03:50) sindy

What does "dumpcap" mean? I have run it as root. alt text

Next I've opened .cap file from https://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=view&target=003transf.cap

I think it is working

alt text

How can I call groups? Sorry for my stupid.

(07 Mar '16, 04:26) Your brother
1

OK, an introduction to command line, dumpcap role, and installation process follows in Russian.

Начнем с того, что "комментарий" и "ответ" - разные вещи. "Ответом" на данном сайте подразумевается исключительно ответ на изначальный вопрос.

По сути: кроме графического пользовательского интерфейса существует еще и командная строка. Понятия не имею, каким образом раздобыть список груп при помощи мыши, значит ищи приложение под названием terminal, CLI window, Command line. Оно должно открыть текстовое окно, в котором можно задавать текстовые команды. Либо надо данную команду уже запускать как рут, либо надо в ее уже окне ввести команду su - и правильно ответить на вопрос на пароль рута. Дальше вводим groups и копируем сюда результат, и вводим dumpcap -D и копируем сюда результат.

dumpcap является приложением, которое по идее запускается с правами рута и на самом деле осуществляет съемку пакетов на интерфейсах и при помощи очереди их передаст Wireshark, который его запустил, но по соображениям безопасности сам по себе работает под менее "мощным" пользователем.

То есть если вышеуказанный механизм не работает правильно, то Wireshark запущенный под рутом ругается на то, что не может запустить Lua скрипт (по тем же соображениям безопасности), а запущенный как не-рут ругается на то, что ему не удается запустить dumpcap.

Для того, чтобы данная схема работала, необходимо, чтобы во время инсталляции была создана група wireshark, члены которой имеют право запустить dumpcap с правами рута. По этой ссылке неизвестной давности можно считать, что необходимо выбрать подходящий режим уже во время инсталляции. Так как я сам такое в жизни не пробовал (на линуксе пользуюсь tcpdump и в случае необходимости открываю результат на винде), я не знаю, какое текущее состояние инсталляционного пакета и на чем можно споткнуться.

Поэтому, во избежании сложных объяснений, если они вдруг не нужны, я решил сначала узнать, создана ли группа wireshark. Если да, то можно считать, что вся инсталляция была сделана нужным образом, и хватит тех пользователей, которым необходимо выполнять съемку трафика при помощи Wireshark, сделать членами этой группы.

(07 Mar '16, 05:03) sindy

Thank you. I can use command line a little :) I know what is it. If I write groups it show "root". If I write dampcup it show me: Capturing on 'eth0' File: /tmp/wireshark_pcapng_eth0_20160307182755_izs8Mx

What must I do now? Могу ли я продолжить разговор на русском или лучше также на английском?

(07 Mar '16, 05:30) Your brother
1

This is a Q&A site for all users so the language used should be one comprehensible to most users, which currently seems to be English. Also, you will need to understand what the installation process is telling you, and it most likely speaks English too.

I've made a mistake when checking whether the group wireshark exists after installation. Please paste here the result of a CLI command grep wireshark /etc/group.

(07 Mar '16, 05:54) sindy

OK. Command line has returned wireshark:x:125:

(07 Mar '16, 06:07) Your brother
showing 5 of 9 show 4 more comments

One Answer:

1

(edit of my original answer in order to make it clearer and more generic).

The following steps are necessary:

  • during installation of the Wireshark package, you have to answer "Y" to the question whether users without root privileges should be allowed to capture traffic. Doing so will make the installer install the binaries accordingly, create a group named wireshark and set privileges for that group the necessary way. In particular, members of that group are allowed to run the dumpcap binary with privileges sufficient to access network interfaces and thus capture traffic, but the membership gives them no other root-like privileges than this one. Wireshark or tshark invokes the dumpcap binary to do the actual capture and receives the captured data from it.

  • to permit a specific user to capture using wireshark, that user must become a member of group wireshark - usually in addition to, not instead of, the membership of that user in other group(s). To do make a user (e.g. named "exampleuser") a member of group wireshark, it is necessary to execute, with superuser privileges, the following command:

usermod -a -G wireshark exampleuser

No users are added to group wireshark by default.

  • the membership in group wireshark is effective only for sessions which have started after the membership has been granted. So if the user has been already logged in, they must log in again (start a new session), as their already running sessions do not know about the membership.

answered 07 Mar '16, 06:18

sindy's gravatar image

sindy
6.0k4851
accept rate: 24%

edited 10 Mar '16, 11:28

May I ask you translate it: "Now, assuming the non-root user you use to run Wireshark is yourbrother: while logged in as root, use the following command-line command:"

(07 Mar '16, 07:10) Your brother
1

Почти дословно:

Теперь, предполагая, что не-рут, под которым ты запускаешь Wireshark, называется yourbrother: пока залогиненый рутом, введи нижеследующую команду:

На обычном русском:

Предположим, что имя пользователя - не рута, под которым будем запускать Wireshark - yourbrother. Заходим как рут и вводим нижеследующую команду:

...

В данной команде, естественно, заменим слово yourbrother настоящим логином данного юзера.

(07 Mar '16, 07:19) sindy

I've run Wireshark as root and in other terminal's window written alt text

(07 Mar '16, 07:44) Your brother
1

А надо делать точно наоборот. Для того, чтобы сделать spirit членом группы wireshark, необходимо быть рутом.

После изменения запускаем Wireshark от имени spirit, а не от имени root, и пытаемся запустить съемку.

(07 Mar '16, 07:48) sindy

Interesting screenshot alt text

Later I have written "sudo usermod -a -G wireshark spirit"

alt text

(07 Mar '16, 09:35) Your brother

Что непонятно в предложении после изменения запускаем Wireshark?

Т.е. сначала надо добавить spirit в группу wireshark, а только потом стоит пробовать запускать wireshark как spirit и проводить съемку.

(07 Mar '16, 12:11) sindy
1

Случайно я вчера прошел ту же процедуру на удаленном компе - сначала с версией, которая механизм разделения полномочий еще не поддерживала, а потом с версией, в которой он уже содержится. Что важно:

  • во время инсталляции, на вопрос "хотите ли вы разрешить обычным пользователям съемку трафика" необходимо ответить "Да"

  • после инсталляции необходимо добавить всех пользователей, которым мы хотим разрешить проводить съемку трафика, в группу wireshark при помощи вышеуказанной команды

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

Только после выполнения всех этих шагов данному пользователю ему станет доступна съемка трафика.

(10 Mar '16, 00:51) sindy

alt text

Is it working? Error message has disappeared after I've used the command sudo usermod -a -G wireshark <username>.

sindy, Thank you very much!!! But I must learn how it work :) Can you suggest me a russian manual?

(10 Mar '16, 05:07) Your brother

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

Ссылка на самое основное введение в Wireshark на русском - здесь.

(10 Mar '16, 10:42) sindy
showing 5 of 9 show 4 more comments