百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

如何在 Ubuntu 命令行中使用 Wireshark 进行抓包?

liuian 2025-07-02 22:19 150 浏览

Wireshark 是一个开源的网络协议分析工具,因其强大的抓包和分析功能而闻名。无论是调试网络问题、监控流量,还是进行安全审计,它都能派上用场。 通常,我们会在带有图形界面的系统中,通过 Wireshark 的窗口点击操作来完成抓包。但在 Ubuntu 的命令行环境中,尤其是服务器上,图形界面往往不可用。这时,Wireshark 的命令行工具 tshark 就闪亮登场了!

为什么要在命令行中使用 Wireshark 呢?原因很简单:灵活性与自动化。在服务器上,你可以用 tshark 捕获流量并保存到文件;在脚本中,你可以设置定时任务或条件触发抓包;甚至在远程调试时,你可以通过 SSH 登录服务器,直接操作。这样的场景是不是让你有点心动? 本文将从零开始,手把手教你在 Ubuntu 命令行中驾驭 Wireshark,探索网络世界的奥秘。

准备工作

在开始抓包之前,我们需要做一些准备工作,确保 Wireshark 在 Ubuntu 上安装并配置妥当。别担心,这部分很简单,但细节很重要!

安装 Wireshark

首先,确保你的 Ubuntu 系统是最新的,然后安装 Wireshark。打开终端,输入以下命令:

sudo apt update
sudo apt install wireshark -y

安装过程中弹出这个框,直接默认即可:

看到这里就代表安装成功

-y 参数会自动确认安装,避免手动输入 "yes"。安装过程中,系统可能会弹出一个配置窗口,询问是否允许非超级用户捕获网络包。出于安全考虑,我建议选择 "No",然后手动配置权限。 这样可以避免潜在的安全风险,同时保持对系统的控制。

配置抓包权限

Wireshark 需要访问底层网络接口,而这通常需要 root 权限。为了让普通用户也能抓包,我们需要调整权限设置。以下是具体步骤:

  1. 创建 wireshark 用户组

输入以下命令创建一个名为 wireshark 的用户组:

sudo groupadd wireshark
  1. 将你的用户添加到组中

将当前用户加入 wireshark 组,替换 $USER 为你的用户名,或者直接用 $USER 变量:

sudo usermod -a -G wireshark $USER
  1. 设置 dumpcap 权限

dumpcap 是 Wireshark 的抓包核心工具,我们需要让它对 wireshark 组开放:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

这里使用了 setcap 命令,为 dumpcap 设置特定的网络权限(cap_net_rawcap_net_admin),让它能在非 root 用户下抓包。

  1. 生效配置

配置完成后,注销并重新登录,或者重启系统,让组更改生效。

验证安装

为了确认一切就绪,运行以下命令检查 tshark 是否可用:

tshark -v

如果看到版本信息,恭喜你,安装成功了! 如果提示命令不存在,可能是安装过程中出了问题,检查是否漏装了 Wireshark 包。

基本抓包操作

准备工作完成后,我们终于可以开始抓包了!在命令行中,tshark 是 Wireshark 的灵魂,它几乎能实现图形界面中的所有功能。 下面,我们从基础操作开始。

列出网络接口

抓包的第一步是找到要监听的网络接口。运行以下命令:

tshark -D

你会看到类似这样的输出:

这些是系统中可用的网络接口。enp3s0 是有线网卡,docker0 是无线网卡,lo 是本地回环接口。记下你想抓包的接口名,比如 enp3s0

简单抓包

现在,让我们在 eth0 上开始抓包:

tshark -i enp3s0

-i 参数指定接口。运行后,终端会实时显示捕获到的数据包,格式类似于 Wireshark 的包列表,包括时间戳、源地址、目标地址和协议信息。按 Ctrl+C 停止抓包。

保存抓包文件

实时查看很有趣,但大多数时候,我们需要保存数据包以供后续分析。使用 -w 参数将抓到的包写入文件:

tshark -i enp3s0 -w capture.pcap

这会将所有捕获的包保存到 capture.pcap 文件中。你可以用 Wireshark 的图形界面打开这个文件,或者稍后用 tshark 分析。

添加抓包过滤器

网络流量往往很杂乱,我们通常只关心特定类型的包。tshark 支持 BPF(Berkeley Packet Filter)语法来过滤抓包。例如,只捕获 TCP 端口 80(HTTP)的流量:

tshark -i enp3s0 -f "tcp port 80"

-f 参数指定抓包过滤器。运行后,只有与端口 80 相关的包会被捕获,其他流量会被忽略。 再比如,只抓 ICMP(ping)流量:

tshark -i enp3s0 -f "icmp"

BPF 过滤器功能强大,支持多种条件组合,我们会在高级功能部分深入探讨。


高级功能:让抓包更智能、更高效

掌握了基本操作后,我们来玩点高级的!tshark 不仅能抓包,还能自动化、定制化你的工作流。

使用显示过滤器

除了抓包时的过滤,tshark 还支持 Wireshark 的显示过滤器语法,用于筛选已捕获的包。使用 -Y 参数:

tshark -i enp3s0 -Y "http"

这会只显示 HTTP 协议的包。注意,-f 是抓包时过滤(减少捕获量),而 -Y 是抓包后筛选(不影响捕获量,仅影响显示)。 例如,查看 DNS 请求:

tshark -i enp3s0 -Y "dns"

自动化抓包

手动抓包虽然灵活,但有些场景需要自动化。tshark 提供了多种自动停止条件,非常适合脚本化任务:

  • 捕获固定数量的包

-c 参数指定包数:

tshark -i enp3s0 -c 100 -w capture.pcap

捕获 100 个包后自动停止。

  • 按时间停止

-a 参数设置持续时间(单位:秒):

tshark -i enp3s0 -a duration:10 -w capture.pcap

抓包 10 秒后停止。

  • 按文件大小停止

设置文件大小上限(单位:KB):

tshark -i enp3s0 -a filesize:100 -w capture.pcap

文件达到 100KB 时停止。

多文件捕获(Ring Buffer)

对于长时间抓包,单个文件可能会变得很大。tshark 支持 ring buffer 模式,将流量分割成多个文件:

tshark -i enp3s0 -b files:5 -b duration:3600 -w capture.pcap

-b files:5 表示最多保留 5 个文件,-b duration:3600 表示每小时生成一个新文件。旧文件会被覆盖,像个循环缓冲区。

编写自动化脚本

我们可以将这些命令嵌入 Bash 脚本。例如,监控网络 10 分钟并保存结果:

#!/bin/bash
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
tshark -i enp3s0 -a duration:600 -w "capture_$TIMESTAMP.pcap"
echo "抓包完成,结果保存在 capture_$TIMESTAMP.pcap"

保存为 capture.sh,赋予执行权限(chmod +x capture.sh),然后运行 ./capture.sh。这会生成带时间戳的抓包文件。


分析抓包结果:从数据到洞察

虽然本文聚焦抓包,但简单聊聊如何分析是个不错的收尾。tshark 提供了一些基本分析功能。

读取捕获文件

-r 参数读取 .pcap 文件:

tshark -r capture.pcap

这会显示文件中所有包的详细信息。

应用显示过滤器

结合 -Y 筛选特定流量,例如查看 HTTP 请求:

tshark -r capture.pcap -Y "http.request"

或者统计 TCP 会话:

tshark -r capture.pcap -z conv,tcp

-z 参数支持多种统计功能,非常实用。

图形界面辅助

对于复杂分析,我建议用 Wireshark 图形界面打开 .pcap 文件。它提供了丰富的可视化工具,能更直观地展示流量模式。


常见问题与解决方法

抓包过程中难免遇到问题,以下是常见情况及应对策略:

  1. 权限不足
  2. 现象:提示 "You don't have permission to capture"
  3. 解决:检查是否加入 wireshark 组,或用 sudo 运行 tshark
  4. 接口不存在
  5. 现象:提示 "No such device exists"
  6. 解决:用 tshark -D 确认接口名,或用 ip link show 检查接口状态。
  7. 抓不到包
  8. 原因:接口无流量,或过滤器太严格。
  9. 解决:确保接口 UP(sudo ip link set eth0 up),检查过滤器语法。
  10. tshark 未找到
  11. 现象:提示 "command not found"
  12. 解决:确认安装(sudo apt install wireshark),检查 PATH(which tshark)。
  13. 文件无权限
  14. 现象:保存 .pcap 文件失败
  15. 解决:确保写入目录有权限(chmodchown)。

通过这篇文章,你已经从零到一掌握了在 Ubuntu 命令行中使用 Wireshark 抓包的技能。从安装配置到基本操作,再到高级自动化和故障排除,你现在可以自信地在终端中嗅探网络了!

命令行抓包不仅适用于无图形界面的环境,还为自动化任务打开了大门。无论是调试网络问题,还是监控服务器流量,tshark 都能助你一臂之力。快去试试吧,用它解锁网络世界的秘密,成为真正的网络探险家!

相关推荐

驱动网卡(怎么从新驱动网卡)
驱动网卡(怎么从新驱动网卡)

网卡一般是指为电脑主机提供有线无线网络功能的适配器。而网卡驱动指的就是电脑连接识别这些网卡型号的桥梁。网卡只有打上了网卡驱动才能正常使用。并不是说所有的网卡一插到电脑上面就能进行数据传输了,他都需要里面芯片组的驱动文件才能支持他进行数据传输...

2026-01-30 00:37 liuian

win10更新助手装系统(微软win10更新助手)

1、点击首页“系统升级”的按钮,给出弹框,告诉用户需要上传IMEI码才能使用升级服务。同时给出同意和取消按钮。华为手机助手2、点击同意,则进入到“系统升级”功能华为手机助手华为手机助手3、在检测界面,...

windows11专业版密钥最新(windows11专业版激活码永久)

 Windows11专业版的正版密钥,我们是对windows的激活所必备的工具。该密钥我们可以通过微软商城或者通过计算机的硬件供应商去购买获得。获得了windows11专业版的正版密钥后,我...

手机删过的软件恢复(手机删除过的软件怎么恢复)
手机删过的软件恢复(手机删除过的软件怎么恢复)

操作步骤:1、首先,我们需要先打开手机。然后在许多图标中找到带有[文件管理]文本的图标,然后单击“文件管理”进入页面。2、进入页面后,我们将在顶部看到一行文本:手机,最新信息,文档,视频,图片,音乐,收藏,最后是我们正在寻找的[更多],单击...

2026-01-29 23:55 liuian

一键ghost手动备份系统步骤(一键ghost 备份)

  步骤1、首先把装有一键GHOST装系统的U盘插在电脑上,然后打开电脑马上按F2或DEL键入BIOS界面,然后就选择BOOT打USDHDD模式选择好,然后按F10键保存,电脑就会马上重启。  步骤...

怎么创建局域网(怎么创建局域网打游戏)

  1、购买路由器一台。进入路由器把dhcp功能打开  2、购买一台交换机。从路由器lan端口拉出一条网线查到交换机的任意一个端口上。  3、两台以上电脑。从交换机任意端口拉出网线插到电脑上(电脑设置...

精灵驱动器官方下载(精灵驱动手机版下载)

是的。驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能。1、全新驱动精灵2012引擎,大幅提升硬件和驱动辨识能力...

一键还原系统步骤(一键还原系统有哪些)

1、首先需要下载安装一下Windows一键还原程序,在安装程序窗口中,点击“下一步”,弹出“用户许可协议”窗口,选择“我同意该许可协议的条款”,并点击“下一步”。  2、在弹出的“准备安装”窗口中,可...

电脑加速器哪个好(电脑加速器哪款好)

我认为pp加速器最好用,飞速土豆太懒,急速酷六根本不工作。pp加速器什么网页都加速,太任劳任怨了!以上是个人观点,具体性能请自己试。ps:我家电脑性能很好。迅游加速盒子是可以加速电脑的。因为有过之...

任何u盘都可以做启动盘吗(u盘必须做成启动盘才能装系统吗)

是的,需要注意,U盘的大小要在4G以上,最好是8G以上,因为启动盘里面需要装系统,内存小的话,不能用来安装系统。内存卡或者U盘或者移动硬盘都可以用来做启动盘安装系统。普通的U盘就可以,不过最好U盘...

u盘怎么恢复文件(u盘文件恢复的方法)

开360安全卫士,点击上面的“功能大全”。点击文件恢复然后点击“数据”下的“文件恢复”功能。选择驱动接着选择需要恢复的驱动,选择接入的U盘。点击开始扫描选好就点击中间的“开始扫描”,开始扫描U盘数据。...

系统虚拟内存太低怎么办(系统虚拟内存占用过高什么原因)

1.检查系统虚拟内存使用情况,如果发现有大量的空闲内存,可以尝试释放一些不必要的进程,以释放内存空间。2.如果系统虚拟内存使用率较高,可以尝试增加系统虚拟内存的大小,以便更多的应用程序可以使用更多...

剪贴板权限设置方法(剪贴板访问权限)
剪贴板权限设置方法(剪贴板访问权限)

1、首先打开iphone手机,触碰并按住单词或图像直到显示选择选项。2、其次,然后选取“拷贝”或“剪贴板”。3、勾选需要的“权限”,最后选择开启,即可完成苹果剪贴板权限设置。仅参考1.打开苹果手机设置按钮,点击【通用】。2.点击【键盘】,再...

2026-01-29 21:37 liuian

平板系统重装大师(平板重装win系统)

如果你的平板开不了机,但可以连接上电脑,那就能好办,楼主下载安装个平板刷机王到你的个人电脑上,然后连接你的平板,平板刷机王会自动识别你的平板,平板刷机王上有你平板的我刷机包,楼主点击下载一个,下载完成...

联想官网售后服务网点(联想官网售后服务热线)

联想3c服务中心是联想旗下的官方售后,是基于互联网O2O模式开发的全新服务平台。可以为终端用户提供多品牌手机、电脑以及其他3C类产品的维修、保养和保险服务。根据客户需求层次,联想服务针对个人及家庭客户...