1. 解决Wireshark的权限不足问题
当普通用户身份运行Wireshark时,会遇到权限不足的问题。原因在于dumpcap需要root权限才能正常工作。以下是解决此问题的步骤:
-
创建用户组
我们将创建一个名为
wireshark的用户组:sudo groupadd wireshark
-
更改dumpcap的用户组
sudo chgrp wireshark /usr/bin/dumpcap
-
为wireshark组授予执行dumpcap的权限
sudo chmod 4755 /usr/bin/dumpcap
注意:如果使用权限
4754,Wireshark可能仍会提示没有足够的权限。 -
将当前用户添加到wireshark组
sudo gpasswd -a $USER wireshark
2. 无图形化界面抓包
如果您想在没有图形界面的设备b上抓包,并在设备a上的Wireshark中进行分析,可以使用tcpdump与SSH结合的方法。
-
安装
tcpdump在设备b上确保已经安装了
tcpdump:- sudo apt-get install tcpdump
-
使用tcpdump抓包并通过SSH传输到设备a
使用以下命令将设备b上的数据包捕获并传输到设备a上:
ssh username@192.168.0.10 “sudo tcpdump -i any -U -w -” | wireshark -k -i -
解释:
-i any: 从所有网络接口捕获数据。-U: 数据包被捕获后立即写入。-w -: 将数据包写入标准输出。| wireshark -k -i -: 通过管道将数据从tcpdump传输到Wireshark。
-
启动Wireshark
执行上述命令后,设备a上的Wireshark应自动启动,并开始显示设备b的网络数据包。
这样,就可以在设备a上实时查看设备b上捕获的数据包了。确保在执行上述操作时有适当的权限。