在Linux系统中,Wireshark 是一款功能强大的图形化网络协议分析工具,但很多人不知道它其实也提供了命令行版本——tshark。对于服务器环境或远程终端用户来说,掌握 Wireshark命令(即 tshark 命令)至关重要。本教程将手把手教你如何在 Linux 中使用这些命令进行 网络协议分析 和 网络抓包,即使你是完全的小白也能轻松上手。
首先,你需要在 Linux 系统中安装 Wireshark。大多数发行版都可通过包管理器安装:
sudo apt updatesudo apt install wireshark tshark sudo dnf install wireshark wireshark-cli # 或sudo yum install wireshark wireshark-cli 安装完成后,运行以下命令验证是否成功:
tshark -v 如果看到版本信息,说明安装成功!
最简单的抓包命令如下,它会监听默认网卡并实时显示数据包:
tshark 但这样会输出大量信息,通常我们会指定网卡和抓包数量:
# 查看可用网卡ip a# 抓取 eth0 网卡的前 10 个数据包tshark -i eth0 -c 10 你可以将抓到的数据包保存为 .pcap 文件,方便后续用 Wireshark 图形界面分析:
# 保存抓包到文件tshark -i eth0 -c 100 -w capture.pcap# 从文件读取并显示tshark -r capture.pcap 抓包过滤(Capture Filter):在抓包时就过滤,减少资源占用。
# 只抓取目标端口为 80 的流量tshark -i eth0 -f "tcp port 80" -c 20 显示过滤(Display Filter):抓完后再筛选显示内容。
# 显示所有 HTTP 请求tshark -r capture.pcap -Y "http.request" 常用过滤表达式:
ip.addr == 192.168.1.1:IP 地址过滤tcp.port == 22:TCP 端口过滤dns:只显示 DNS 流量icmp:只显示 ping(ICMP)包普通用户可能无法直接抓包,因为需要访问网络接口。解决方法:
# 方法1:使用 sudo(不推荐长期使用)sudo tshark -i eth0 -c 5# 方法2:将用户加入 wireshark 组(推荐)sudo usermod -aG wireshark $USER# 然后注销重新登录生效 ✅ 排查网站无法访问:
tshark -i eth0 -f "host www.example.com" -Y "tcp.analysis.retransmission" 这条命令可检测是否有 TCP 重传,帮助判断网络是否丢包。
✅ 监控 SSH 登录尝试:
tshark -i eth0 -f "tcp port 22" -V | grep -i "login\|password" 通过本教程,你已经掌握了在 Linux 中使用 Wireshark命令(tshark)进行 网络抓包 和 网络协议分析 的基本技能。无论是排查网络故障、分析安全事件,还是学习网络协议,这些命令都是运维和开发人员的得力助手。记住,熟练使用 抓包工具使用 技巧,能让你在网络世界中“看得更清、走得更远”!
提示:实际操作前请确保遵守公司或组织的网络安全政策,未经授权的抓包行为可能违法。
本文由主机测评网于2025-11-27发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/202511870.html