Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to use wireshark on a Debian machine, but when I run it with my non-root user account, it doesn't detect any network interface.

I also tried running wireshark as root, but wireshark tells me this method is insecure.

I also read the FAQ and found "read the file on /usr/shared/wireshark-common/README.Debian file" - I did read that file, but I still don't know what I'm supposed to do.

share|improve this question
up vote 9 down vote accepted

By installing Wireshark packages non-root users won't gain rights automatically to capture packets.

You need root privileges to capture traffic with Wireshark (or dumpcap, for that matter). According to the manual you mentioned, it should be possible to add your user to the wireshark group though:

useradd -G wireshark your-user-name

Don't know if that alone will work though. Here's also a guide from Wireshark Blog that explains it a bit more:

sudo -s
groupadd -g wireshark
usermod -a -G wireshark your-user-name
chgrp wireshark /usr/bin/dumpcap
chmod 4750 /usr/bin/dumpcap

That being said, you can safely run Wireshark to inspect, edit or filter packet dumps without root privileges.

share|improve this answer
    
Thanks for the details=) Also, I learnt that I should reboot before going 'Y U NOT WORKING'. Now it works brilliantly!!! – user269334 Aug 8 '11 at 16:58
    
That's perfect, glad I could help. Rebooting normally shouldn't be necessary, logging out and in should in most cases fix issues. – slhck Aug 8 '11 at 17:00

The file is actually /usr/share/doc/wireshark-common/README.Debian.

What you need to do is:

sudo dpkg-reconfigure wireshark-common

Choose the "yes" option.

usermod -a -G wireshark your-user-name

Logout and log back in to pick up the new group membership and you can now run wireshark as a non-root user.

share|improve this answer
9  
This should really be the accepted answer; using dpkg-reconfigure wireshark is the right way to set up the wireshark group on Debian systems. Making dumpcap setuid (as in the accepted answer) is unnecessary, as the package scripts will set up the appropriate caps on the group. – cdhowie Nov 6 '12 at 17:38
1  
I don't have enough points to add a comment but to save having to log off to update Group Membership : su - $USER wireshark& – Stuart Sep 13 '15 at 22:40
    
@Stuart Better: Just type newgrp wireshark in your shell. If you are part of that group, the shell will pick up your new membership (on request). – bryn 18 hours ago

You can run wireshark without sudo access using

sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap 
share|improve this answer
    
Can you please explain how sudo setcap... can be run without sudo access? Your answer does not make any sense. – DavidPostill Jun 7 at 10:15
    
setcap is use to set the privileges as non root user for capturing, I have [follow]: wiki.wireshark.org/CaptureSetup/CapturePrivileges – amit Jun 9 at 8:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .