Немає інтерфейсів, на яких можна зробити захоплення


24

Я використовую Ubuntu 13.04.

Wireshark не показуватиме мені журнали, не працюватиме взагалі. Я підключений до свого WiFi, маршрутизатора Belkin.


Швидкий обхідний шлях, а не вирішення: Ви можете запустити Wireshark в якості кореня: gksudo wireshark.
soulsource

Відповіді:


45

Відкрийте термінал, натиснувши Ctrl+ Alt+ Tі введіть наступні команди:

sudo dpkg-reconfigure wireshark-common

натисніть стрілку праворуч і введіть так

sudo chmod +x /usr/bin/dumpcap

тепер ви зможете запустити його без кореня, і ви зможете захопити.


4
+1. Він також працює 14.04. Примітка. Документи кажуть : "Захоплення USB-пакетів не ввімкнено для користувачів без кореневих програм за допомогою можливостей Linux. Ви повинні захопити пакети методом, описаним в I./a., Встановивши ідентифікатор set-user назавжди за допомогою dpkg -statoverride або запускається Wireshark як корінь. "
jfs

Буде дуже корисно для новачків, якщо ви також можете описати, що робиться з вищезазначеними командами, які змушують його працювати
Ахмед

1
Він працює на LTS 14.04 .... Дякую вам дуже.
ТН

chmod +xробить dumpcap виконуваним для всіх. Альтернативою може бути додавання користувачів, які ви хочете дозволити захоплення, до групи проводів.
Домен

2

Повідомлення "Жоден інтерфейс не може використовуватися для зйомки в цій системі з поточною конфігурацією", як правило, з'являється, коли у вас немає прав на доступ до мережевих інтерфейсів для моніторингу. Спробуйте відкрити термінал і запустити gksudo wireshark. Якщо з’являється декілька мережевих інтерфейсів, це тому, що коли ви запускаєте дротяну мережу без дозволів root, ви не маєте права контролю.

Щоб виправити це, запустіть таку команду в терміналі:

sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap

"Спробуйте відкрити термінал і запустити gksudo wireshark." Зверніть увагу, що в цьому документі сказано, що "WIRESHARK ОБЛІЄТЬСЯ ДВА МІЛЬЙОННИХ ЛІНІЙ КОДУ ДЖЕРЕЛА. перш ніж це зробити. Виконайте sudo setcapкоманду замість цього - або використовуйте, sudo dpkg-reconfigure wireshark-commonщоб пакет встановив можливості для вас.

0

Коли я намагався запустити проводку, я отримав цю помилку:

Couldn't run /usr/bin/dumpcap in child process: Permission denied

тому я запускав його як root, який відключив LUA. Спливаюче вікно, яке повідомляло мені, що LUA було вимкнено, настільки дратує, що я спробував це виправити.

спочатку я перевірив привілеї, запустивши

ls -l /usr/bin/dumpcap

в результаті чого:

-rwxr-xr-- 1 root wireshark 96464 Jan 24 10:31 /usr/bin/dumpcap

це було очевидно, саме це мені розповідав Wireshark. Тому я просто змінив власника з root на мою акаунт

sudo chown -R $LOGNAME /usr/bin/dumpcap

Що спрацювало, я тепер можу запускати провідну головку без кореня


0

Google "не зміг запустити / usr / bin / dumpcap у дочірньому процесі" і знайшов це питання:

Я не в змозі використовувати wireshark "не вдалося запустити / usr / bin / dumpcap в дочірньому процесі"

Який позначений як дублікат і привів мене сюди. Пропоноване рішення:

sudo chmod +x /usr/bin/dumpcap

Наведена вище команда дійсно працює, але я хотів би додати захист ПОПЕРЕДЖЕННЯ . Це дозволить захопити пакет для ВСІХ КОРИСТУВАЧІВ у системі. Це може бути тимчасовим рішенням, але не бажаним як постійне рішення.

Я дотримувався вказівок на сторінці wireshark про привілеї захоплення:

https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

вони РЕКОМЕНДУЮТЬ обмежити виконання дамп-файлів певною групою або користувачем.

Я дотримувався цих інструкцій (з адаптаціями):

Встановлення мережевих привілеїв для dumpcap, якщо можливості вашого файлу ядра та файлової системи підтримують

  • Переконайтеся, що ви встановили необхідні інструменти, такі як команда setcap.

    sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

(ПРИМІТКА. Замініть / usr / bin на / usr / sbin, якщо ви отримаєте помилку, яка вказує на те, що dumpcap не в / usr / bin)

  • Запустіть Wireshark як некореневий і переконайтеся, що ви переглядаєте список інтерфейсів і можете робити зйомку в реальному часі. ( Я ПРАВИЛА ЦІЙ ІНСТРУКЦІЇ. Я НЕ РОБОТИ ДЛЯ МНЕ )

Встановлення мережевих привілеїв для dumpcap, якщо ваше ядро ​​та файлова система не підтримують можливості файлу

У цьому випадку вам потрібно буде встановити dumpcap set-UID до root.

sudo chown root /usr/bin/dumpcap 

(ПРИМІТКА. Замініть / usr / bin на / usr / sbin у цій команді та наступній команді, якщо ви отримаєте помилку, яка вказує на те, що dumpcap не в / usr / sbin)

sudo chmod u+s /usr/bin/dumpcap

Обмеження дозволу на захоплення лише однією групою

Після встановлення мережевих привілеїв dumpcap:

  • Створіть "wireshark" користувача в групі "wireshark".

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • Переконайтесь, що Wireshark працює лише від кореня та від користувача у групі "wireshark" ( Я ВСТАВЛЯВ ЦІЙ КРОК ТІЛЬКИ В КІНЦІ - НЕ БЕЗ ВІД )

І нарешті, ще два кроки:

sudo dpkg-reconfigure wireshark-common

Виберіть "так".

Вийдіть ВСІ інтерфейси для користувача (включаючи ssh, яка була моєю найбільшою помилкою) та увійдіть знову.

Сподіваємось, вам слід запустити wireshark і побачити всі інтерфейси як звичайний користувач (не використовуючи sudo)

wireshark &

І якщо ви перевірите дозволи на файл

ls -la /usr/bin/dumpcap

Це дозволяє ТОЛЬКО КОРИСТУВАЧУ та ГРУПІ виконувати

-rwxr-xr-- 1 кореневий провід

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.