无图形化界面使用wireshark抓包分析数据

1. 解决Wireshark的权限不足问题

当普通用户身份运行Wireshark时,会遇到权限不足的问题。原因在于dumpcap需要root权限才能正常工作。以下是解决此问题的步骤:

  1. 创建用户组

    我们将创建一个名为wireshark的用户组:

    sudo groupadd wireshark

  2. 更改dumpcap的用户组

    sudo chgrp wireshark /usr/bin/dumpcap

  3. 为wireshark组授予执行dumpcap的权限

    sudo chmod 4755 /usr/bin/dumpcap

    注意:如果使用权限4754,Wireshark可能仍会提示没有足够的权限。

  4. 将当前用户添加到wireshark组

    sudo gpasswd -a $USER wireshark


2. 无图形化界面抓包

如果您想在没有图形界面的设备b上抓包,并在设备a上的Wireshark中进行分析,可以使用tcpdump与SSH结合的方法。

  1. 安装tcpdump

    在设备b上确保已经安装了tcpdump

    • sudo apt-get install tcpdump
  2. 使用tcpdump抓包并通过SSH传输到设备a

    使用以下命令将设备b上的数据包捕获并传输到设备a上:

    ssh [email protected] “sudo tcpdump -i any -U -w -” | wireshark -k -i -

    解释:

    • -i any: 从所有网络接口捕获数据。
    • -U: 数据包被捕获后立即写入。
    • -w -: 将数据包写入标准输出。
    • | wireshark -k -i -: 通过管道将数据从tcpdump传输到Wireshark。
  3. 启动Wireshark

    执行上述命令后,设备a上的Wireshark应自动启动,并开始显示设备b的网络数据包。


这样,就可以在设备a上实时查看设备b上捕获的数据包了。确保在执行上述操作时有适当的权限。

你可能感兴趣的:(wireshark,服务器,linux)