我在Wireshark的安装中遇到了很多问题,并且捕获了USB流量,特别是由于用户权限。
在答案中,我描述了完成这项工作的完整工作流程。 每个问题的答案都在不同的论坛上给出,所以我认为我会在一个答案中将所有内容整合在一起,以避免未来的用户在他们遇到的每一个问题上都使用谷歌。
答案 0 :(得分:25)
在Ubuntu 14.04上测试过,但可能适用于其他发行版,因为没有一个步骤特定于Ubuntu。
第一次按照教程操作时,请执行以下所有步骤1 - > 7。
重新启动计算机时,必须重复步骤6和7才能看到Wireshark中的USB接口。
安装Wireshark和libpcap:
sudo apt-get install wireshark libpcap0.8
对于Debian,Ubuntu和其他Debian衍生产品,继续执行第3步。
对于其他基于Linux的系统或其他安装方法,请参阅Wireshark Wiki,然后转到步骤6.
重新配置wireshark以允许非超级用户跟踪数据包:
sudo dpkg-reconfigure wireshark-common
在提示
<Yes>
将您的用户名添加到&#34; wireshark&#34;用户组:
sudo usermod -a -G wireshark <your_username>
您可以通过显示您的用户名所属的群组来验证其是否正确完成:
groups <your_username>
如果没有,您可以添加组&#34; wireshark&#34;手动:
groupadd wireshark
然后将您的用户名添加到群组中(参见上文)
重要:退出会话,然后重新登录。
此步骤取决于计算机上安装的内核版本。要了解内核的版本,请键入:
uname -r
对于2.6.21之前的内核版本,如果/ sys / kernel / debug上尚未安装debugfs,请确保通过发出以下命令将其挂载到该处:
sudo mount -t debugfs / /sys/kernel/debug
对于内核版本2.6.21及更高版本,在内核中加载可加载模块usbmon:
sudo modprobe usbmon
有关此区别的更多信息,请参阅Wireshark Wiki。
如果usbmon接口没有出现在Wireshark中,请使用dumpcap(Wireshark的命令行工具)查找接口:
sudo dumpcap -D
你应该看到usbmon *接口。现在显示usbmon接口的权限:
ls -l /dev/usbmon*
如果usbmon *文件有&#39; crw -------&#39;,那么Wireshark无法读取它们是正常的,因为它不能以root身份运行。 Do not execute wireshark in root mode,它可能会损坏文件。相反,您可以为其提供常规用户权限:
sudo setfacl -m u:$USER:r /dev/usbmon*
现在usbmon接口应该出现在Wireshark中。
玩得开心!
来源:
https://wiki.wireshark.org/CaptureSetup/USB#Linux
https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#Most_UNIXes