tcpdump 是 linux 下实用的网络嗅探工具,适合排查网络问题和分析流量。安装方式包括:1. debian/ubuntu 使用 sudo apt install tcpdump;2. centos/rhel 使用 sudo yum install tcpdump。基础命令如 sudo tcpdump -i eth0 可监听指定网卡流量,常用参数有 -nn 显示 ip 和端口、-c 指定抓包数量。抓包可保存为文件便于后续分析,使用 sudo tcpdump -i eth0 -w capture.pcap 保存数据包,支持限制包数或时间。过滤流量可通过 host 按 ip 过滤、port 按端口过滤,组合条件用 and、排除用 not,能有效提升分析效率。掌握这些基本用法即可满足多数日常需求。

Linux 下的 tcpdump 是一个非常实用的网络嗅探工具,尤其适合排查网络问题、分析流量行为。如果你刚接触这个工具,可能会觉得参数有点复杂,但其实掌握几个基础用法就能满足大多数日常需求。

大多数 Linux 发行版默认没有安装 tcpdump,你可以通过包管理器手动安装:

Debian/Ubuntu:
sudo apt install tcpdump
CentOS/RHEL:

sudo yum install tcpdump
安装完成后,输入 tcpdump --version 可以确认是否安装成功。
最简单的使用方式是直接运行 tcpdump 并指定网卡接口,比如:
sudo tcpdump -i eth0
这会开始监听 eth0 接口上的所有流量,并实时打印出捕获的数据包信息。
注意:需要使用 sudo 才能捕获网络流量。
常用参数说明:
-i:指定监听的网卡接口(如 eth0, lo, wlan0 等)-nn:不解析主机名和服务名,显示 IP 和端口号,加快输出速度-c:指定捕获的数据包数量,例如 -c 10 表示只抓10个包后自动停止举个例子:
sudo tcpdump -i eth0 -nn -c 5
这条命令会在 eth0 上抓取 5 个数据包,然后自动结束。
如果你想把抓到的数据包保存下来,供以后分析或者发给别人看,可以用 -w 参数:
sudo tcpdump -i eth0 -w capture.pcap
这样就会把抓到的所有流量写入 capture.pcap 文件中。这个文件可以使用 Wireshark 或其他支持 pcap 格式的工具打开查看。
也可以加上时间限制或包数限制来控制抓包范围:
指定抓10个包后保存:
sudo tcpdump -i eth0 -c 10 -w capture.pcap
抓包持续30秒后自动停止(结合 timeout 命令):
sudo timeout 30 tcpdump -i eth0 -w capture.pcap
如果直接抓全部流量,可能会混杂很多无关内容。可以通过过滤条件缩小范围:
按IP地址过滤:
sudo tcpdump host 192.168.1.100
按端口过滤:
sudo tcpdump port 80
组合过滤条件(如抓某个IP访问Web服务的流量):
sudo tcpdump host 192.168.1.100 and port 80
排除特定流量(比如排除 SSH):
sudo tcpdump not port 22
这些过滤规则虽然看起来简单,但在实际排查问题时非常有用,能快速定位到你关心的数据流。
启用并使用 tcpdump 其实并不难,只要记住几个关键参数,就能完成基本的抓包和分析任务。建议从最简单的命令开始尝试,再逐步加入过滤和保存功能。熟练之后你会发现,它在排查网络连接问题、调试应用通信时特别好用。
基本上就这些,别被一堆参数吓到了,先跑起来再说。
以上就是如何启用Linux网络嗅探 tcpdump抓包工具基础用法的详细内容,更多请关注php中文网其它相关文章!
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号