Không có giao diện nào có thể thực hiện việc chụp


24

Tôi đang sử dụng Ubuntu 13.04.

Wireshark sẽ không hiển thị cho tôi bất kỳ nhật ký nào, sẽ không hoạt động. Tôi đang kết nối với WiFi, bộ định tuyến Belkin.


Cách giải quyết nhanh, không phải là giải pháp: Bạn có thể chạy wireshark với quyền root : gksudo wireshark.
soulsource

Câu trả lời:


45

Mở terminal bằng cách nhấn Ctrl+ Alt+ Tvà gõ các lệnh sau:

sudo dpkg-reconfigure wireshark-common

nhấn mũi tên phải và nhập cho có

sudo chmod +x /usr/bin/dumpcap

bây giờ bạn có thể chạy nó mà không cần root và bạn sẽ có thể chụp.


4
+1. Nó hoạt động vào ngày 14.04. Lưu ý: các tài liệu nói : "việc bắt các gói USB không được kích hoạt cho người dùng không phải root bằng cách sử dụng Khả năng của Linux. Bạn phải chụp các gói bằng phương pháp được mô tả trong I./a., Đặt id-user-id vĩnh viễn bằng dpkg -statoverride hoặc chạy Wireshark với quyền root. "
jfs

Nó sẽ giúp ích rất nhiều cho người mới, nếu bạn cũng có thể mô tả về những gì đang được thực hiện với các lệnh trên giúp nó hoạt động
Ahmed

1
CÔNG TRÌNH CNTT trên LTS 14.04 .... Cảm ơn bạn rất nhiều.
ThN

chmod +xlàm cho dumpcap thực thi cho tất cả mọi người. Một cách khác là thêm người dùng mà bạn muốn cho phép chụp vào nhóm wireshark.
Domen

2

Thông báo "Không có giao diện nào có thể được sử dụng để chụp trong hệ thống này với cấu hình hiện tại" thường xuất hiện khi bạn không có đặc quyền truy cập vào giao diện mạng để theo dõi. Hãy thử mở một thiết bị đầu cuối và chạy wireshark gksudo. Nếu một số giao diện mạng xuất hiện, đó là vì khi bạn chạy wireshark mà không có quyền root, bạn không có quyền giám sát.

Để khắc phục điều đó, hãy chạy lệnh sau trong một thiết bị đầu cuối:

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

"Hãy thử mở một thiết bị đầu cuối và chạy wireshark gksudo." Xin lưu ý rằng tài liệu này ghi "WIRESHARK CONTAIN TRÊN HAI TRIỆU DÒNG MÃ NGUỒN. ĐỪNG CHẠY ĐẾN NHƯ ROOT." trước khi làm điều đó Thực hiện sudo setcaplệnh thay thế - hoặc sử dụng sudo dpkg-reconfigure wireshark-commonđể gói thiết lập các khả năng cho bạn.

0

Khi tôi cố chạy wireshark, tôi đã gặp lỗi này:

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

Vì vậy, tôi đã từng chạy nó với quyền root, đã vô hiệu hóa LUA. Cửa sổ bật lên thông báo cho tôi rằng LUA đã bị vô hiệu hóa rất khó chịu, đến nỗi tôi đã cố gắng sửa nó.

Trước hết tôi đã kiểm tra đặc quyền bằng cách chạy

ls -l /usr/bin/dumpcap

dẫn đến:

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

điều này là hiển nhiên, đó là những gì Wireshark đã nói với tôi. Vì vậy, tôi chỉ thay đổi chủ sở hữu từ root sang acc của tôi

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

Mà làm việc, bây giờ tôi có thể chạy wireshark mà không cần root


0

Google đã không thể chạy / usr / bin / dumpcap trong tiến trình con và tìm thấy câu hỏi này:

Tôi không thể sử dụng wireshark "không thể chạy / usr / bin / dumpcap trong tiến trình con"

Được đánh dấu là trùng lặp và đưa tôi đến đây. Giải pháp đề xuất là:

sudo chmod +x /usr/bin/dumpcap

Lệnh trên thực sự hoạt động, nhưng tôi muốn thêm một CẢNH BÁO bảo mật . Điều đó sẽ cho phép chụp gói cho TẤT CẢ NGƯỜI SỬ DỤNG trên hệ thống. Nó có thể là một giải pháp tạm thời, nhưng không mong muốn là giải pháp lâu dài.

Tôi đã làm theo hướng dẫn từ trang wireshark về các đặc quyền chụp:

https://wiki.wireshark.org/CaptureSetup/CapturePriv đặc quyền

Họ RECOMMEND hạn chế thực hiện dumpcap cho một nhóm hoặc người dùng cụ thể.

Tôi đã làm theo các hướng dẫn đó (với sự thích nghi):

Đặt đặc quyền mạng cho dumpcap nếu kernel và hệ thống tệp của bạn hỗ trợ khả năng tệp

  • Đảm bảo rằng bạn đã cài đặt các công cụ cần thiết, chẳng hạn như lệnh setcap.

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

(LƯU Ý: Thay thế / usr / bin bằng / usr / sbin trong trường hợp bạn gặp lỗi cho biết dumpcap không có trong / usr / bin)

  • Bắt đầu Wireshark là không root và đảm bảo bạn thấy danh sách các giao diện và có thể chụp trực tiếp. ( TÔI ĐÃ BIẾT HƯỚNG DẪN NÀY. ĐỪNG LÀM VIỆC CHO TÔI )

Đặt đặc quyền mạng cho dumpcap nếu kernel và hệ thống tệp của bạn không hỗ trợ khả năng của tệp

Trong trường hợp này, bạn sẽ cần phải tạo dumpcap set-UID thành root.

sudo chown root /usr/bin/dumpcap 

(LƯU Ý: Thay thế / usr / bin bằng / usr / sbin trong lệnh này và lệnh tiếp theo trong trường hợp bạn nhận được lỗi cho biết dumpcap không nằm trong / usr / sbin)

sudo chmod u+s /usr/bin/dumpcap

Giới hạn quyền chụp chỉ một nhóm

Sau khi đã thiết lập các đặc quyền mạng của dumpcap:

  • Tạo người dùng "wireshark" trong nhóm "wireshark".

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • Đảm bảo Wireshark chỉ hoạt động từ root và từ người dùng trong nhóm "wireshark" ( TÔI ĐÃ BƯỚC BƯỚC NÀY TRONG CUỐI - KHÔNG QUÁ YÊN )

Và cuối cùng, hai bước nữa:

sudo dpkg-reconfigure wireshark-common

Chọn 'có'.

Đăng xuất TẤT CẢ các giao diện cho người dùng (bao gồm cả ssh là lỗi lớn nhất của tôi) và đăng nhập lại.

Hy vọng, bạn nên bắt đầu wireshark và xem tất cả các giao diện như một người dùng thông thường (không sử dụng sudo)

wireshark &

Và nếu bạn kiểm tra quyền truy cập tập tin

ls -la /usr/bin/dumpcap

Nó chỉ cho phép NGƯỜI DÙNG và NHÓM thực thi

-rwxr-xr-- 1 dây dẫn gốc

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.