游乐游手机版
首页/科技数码/文章详情

高级网工必备!Tcpdump 抓包神器从入门到实战全攻略

时间:2025-09-05 20:46
在网络运维中,Windows 用户常用 Wireshark 抓包,那 Linux 服务器该如何分析网络流量?今天揭秘高级网工的「瑞士军刀」——Tcpdump,从安装到实战全流程拆解。 为了更好的分析

在网络运维中,Windows 用户常用 Wireshark 抓包,那 Linux 服务器该如何分析网络流量?今天揭秘高级网工的「瑞士军刀」——Tcpdump,从安装到实战全流程拆解。

为了更好的分析网络,常见客户机的Windows操作系统可以安装Wireshark等抓包软件抓取数据流进行分析。那么服务器常用的Linux等系统如何抓取接口报文分析网络呢?

本期将介绍高级网工必备工具—Tcpdump!

一、Tcpdump简介

在网络运维中,Windows 用户常用 Wireshark 抓包,那 Linux 服务器该如何分析网络流量?今天揭秘高级网工的「瑞士军刀」——Tcpdump,从安装到实战全流程拆解,文末附避坑指南!

工具定位:为什么网工必须掌握 Tcpdump?

Tcpdump是类 Unix 系统的王牌抓包工具,名字由「TCP 协议」和「数据导出」组合而来。它基于 libpcap 库实时捕获网络数据包,支持:

嗅探并保存流量数据按协议 / 端口 / IP 精准过滤生成 pcap 文件供后续分析

适用场景:Linux、Solaris、BSD 等系统,Windows 版本为 WinDump(需 WinPcap 驱动)。

二、Tcpdump安装介绍

在Linux操作系统中安装tcpdump,你可以通过以下步骤进行:

打开终端:在Linux系统中,你可以通过点击终端图标或使用快捷键(通常是Ctrl+Alt+T)来打开终端。使用包管理器安装tcpdump:根据你的Linux发行版,选择对应的包管理器来安装tcpdump。

以下是一些常见的发行版和对应的包管理器:

Ubuntu/Debian:使用apt-get命令安装。在终端中输入以下命令并按回车键:

sudo apt-get updatesudo apt-getinstall tcpdumpCentOS/Fedora:使用yum命令安装。在终端中输入以下命令并按回车键:

sudo yum updatesudo yum install tcpdumpArch Linux:使用pacman命令安装。在终端中输入以下命令并按回车键:

sudo pacman -Sy tcpdump

请注意,安装过程中可能需要输入管理员密码进行确认。

等待安装完成:安装过程可能需要一些时间,系统会自动下载并安装tcpdump及其依赖包。验证安装:安装完成后,你可以通过在终端中输入以下命令来验证安装是否成功:

tcpdump --version

如果输出tcpdump的版本信息,则说明安装成功。

这样,你就成功在Linux操作系统中安装了tcpdump。接下来,你可以使用tcpdump命令来捕获和分析网络数据包了。记得在使用tcpdump时,可能需要使用sudo或以root用户身份运行以便获取足够的权限来捕获数据包。

三、Tcpdump基本用法

通过命令:tcpdump-help,可查看tcpdump工具命令选项:

Tcpdump的基本命令格式是:tcpdump [选项] [表达式]

-a:将网络地址和广播地址转变成名字-A:以ASCII码格式打印出所有数据包,并将链路层的头部最小化-B:用于设置操作系统捕捉缓冲大小-c:指定抓取数据包的数量-C:此选项用于配合-w选项使用,如果保存文件大小超过阈值则关闭当前文件,并启用新文件继续保存数据(分多个固定大小的文件保存抓包数据,利于长期抓包的场景)-d 将匹配到的数据包以人们能够理解的汇编格式输出-dd:以C语言的形式打印出包匹配码.-ddd:以十进制数的形式打印出包匹配码-D:打印系统中所有支持抓包的网络接口-e:在输出行打印出数据链路层的头部信息-E:解密IPsec ESP分组。具体来说,它使用spi@ipaddr algo:secret的格式来解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。这样,tcpdump可以捕获并显示经过IPsec加密的数据包内容,帮助用户更好地分析和理解网络流量-f :将外部的因特网地址以数字的形式打印出来-F:使用file文件作为过滤条件表达式的输入-i:指定监听网络接口-l:对标准输出进行行缓冲-L:列出指定网络接口所支持的数据链路层的类型后退出-m:通过module 指定的file 装载SMI MIB 模块-n:不把网络地址转换成名称,即直接显示IP地址而不是主机名-N:不打印出host 的域名部分-nn:不进行端口名称的转换-O:不启用进行包匹配时所用的优化代码-p:不让网络接口进入混杂模式-q:快速简短打印输出-R:设定tcpdump 对 ESP/AH 数据包的解析按照 RFC1825而不是RFC1829-r:从文件file 中读取包数据-s:数据包抓取长度,如果不设置默认将会是68字节-S:打印TCP 数据包的顺序号时, 使用绝对的顺序号, 而不是相对的顺序号-t:在每行输出中不打印时间戳-tt:不对每行输出的时间进行格式处理-ttt:tcpdump 输出时, 每两行打印之间会延迟一个段时间(以毫秒为单位)-tttt:在每行打印的时间戳之前添加日期的打印-u:打印出未加密的NFS句柄-U:使得当tcpdump在使用-w 选项时, 其文件写入与包的保存同步-v:分析和打印产生详细的输出-vv:产生比-v更详细的输出-vvv:产生比-vv更详细的输出-w:把包数据直接写入文件而不进行分析和打印输出-W:设置输出文件的最大数目-x:以十六进制的形式打印每个数据包的头部数据,但是不包括数据链路层的头部-xx:以十六进制的形式打印每个数据包的头部数据,并且包括数据链路层的头部-X:以ASCII码格式显示输出,但是不包括数据链路层的头部-XX:以ASCII码格式显示输出,并且包括数据链路层的头部-y:只捕获数据链路层协议类型是datalinktype的数据包

四、Tcpdump常见捕获方式

(1) 默认启动

tcpdump监视系统第一个网络接口上所有流过的数据包。

tcpdump

(2) 抓取网卡eth0

抓取网卡eth0上所有报文

tcpdump -i eth0

(3) 抓取指定MAC

抓取ath10接口上包含MAC地址为11:22:33:44:55:66的数据包,并保存为ath10.pcap于当前路径下:

tcpdump –i ath10 –w ath10.pcapetherhost 11:22:33:44:55:66

抓取ath10接口上源MAC地址为11:22:33:44:55:66的数据包,并保存为ath10.pcap于当前路径下:

tcpdump –i ath10 –w ath10.pcapethersrc 11:22:33:44:55:66

抓取ath10接口上目的MAC地址为11:22:33:44:55:66的数据包,并保存为ath10.pcap于当前路径下:

tcpdump –i ath10 –w ath10.pcapetherdst 11:22:33:44:55:66

(4) 抓取指定的主机

抓取eth0网卡上IP为192.168.168.2的所有报文:

tcpdump -i eth0 -nn 'host 192.168.1.2'

抓取eth0网卡上源IP为192.168.168.2的所有报文:

tcpdump -i eth0 -nn 'src host 192.168.1.2'

抓取eth0网卡上目的IP为192.168.168.2的所有报文:

tcpdump -i eth0 -nn 'dst host 192.168.1.2'

(5) 抓取指定端口

抓取eth0网卡上端口号为80的所有报文:

tcpdump -i eth0 -nnA 'port 80'

(6) 抓取指定主机和端口

抓取eth0网卡上IP为192.168.1.2且端口号为80的所有报文

tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.2'

(7) 抓取除某个端口外的其它端口

排除某个端口或者主机可以使用“!”符号,上例表示监听非22端口的数据包。

tcpdump -i eth0 -nnA '!port 22'

(8) 协议过滤

可过滤ip6、arp、icmp、tcp、udp、igmp等协议:

tcpdump –i ath10 –w ath10.pcaptcpandetherhost 88:bf:e4:fc:26:19

该命令可以抓取ath10接口上包含MAC地址为88:bf:e4:fc:26:19的tcp数据包,保存于ath10.pcap文件中。

(9) 组合过滤

过滤规则可以通过逻辑运算符组合使用,注意协议的预过滤规则要放在第一位。

tcpdump –i eth0 –w eth0.pcaptcpandsrc ‘(192.168.96.54or 192.168.96.7)’

该命令可以抓取eth0接口上源地址为192.168.96.54及192.168.96.7的tcp数据包,保存于eth0.pcap文件中。注:小括号 () 需与转义符 ’ 搭配使用。

(10) 分文件滚动保存(适合长期监控)

tcpdump -i eth0 -C 100 -W 10 -w daily_%Y%m%d.pcap注释:每个文件 100MB,最多保留 10 个文件,自动按日期命名。

(11) 抓取指定长度数据包(节省空间)

tcpdump -i eth0 -s 200 # 只抓前200字节

(12) 结合正则表达式过滤

tcpdump -i eth0 -A 'tcp[20:2] > 1000' # 抓取TCP窗口大于1000的包

五、注意事项

1. 数据解码优化

tcpdump直接输出的数据包多为十六进制格式,不利于分析。最佳实践: 抓包时用-w参数保存为pcap文件:

tcpdump -i eth0 -w traffic.pcap

- 用Wireshark等工具打开文件解码分析,避免直接查看原始输出。

2. 进程残留处理

按Ctrl+C/Z结束抓包后,可能存在进程残留导致内存占用异常。解决步骤:

- 检查残留进程:

ps | grep tcpdump

- 强制终止所有进程:

killall tcpdump

3. 文件管理策略

pcap文件长期留存会占用磁盘空间。清理方法:

- 查看文件列表及大小:

ls -la | grep pcap

- 删除指定文件(替换xxx为文件名):

rm xxx.pcap

来源:https://www.51cto.com/article/821472.html
上一篇Linux内核软盘驱动三年来首迎更新,代码优化提升维护效率 下一篇运维必杀技:关闭这些默认服务,让你的服务器飞起来!
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
泰坦军团战魂KG277VPLUS双模显示器27英寸4K165Hz/520Hz仅1888元
科技数码 · 2026-07-03

泰坦军团战魂KG277VPLUS双模显示器27英寸4K165Hz/520Hz仅1888元

泰坦军团“战魂KG277VPLUS”27英寸显示器发售,支持4K165Hz与FHD520Hz双模切换,定价1888元。采用FastIPS面板,97%DCI-P3色域,配备升降支架及双HDMI2 1和双DP1 4接口。

苹果调价影响消费需求 2026年全球笔电出货量或降13.6%
科技数码 · 2026-07-03

苹果调价影响消费需求 2026年全球笔电出货量或降13.6%

迈入2026年,DRAM与NAND闪存的供应持续紧张及价格不断攀升,正逐步传导至终端消费市场。可以预见,下半年市场环境将更加严峻。上半年多家PC厂商已陆续上调产品定价,最终连苹果也不得不跟进,宣布提升iPad、Mac及家居设备的价格,以应对存储成本的快速上涨。 TrendForce分析指出,苹果全面

苹果iPhone 18 Pro自研C2芯片或不支持5G毫米波
科技数码 · 2026-07-03

苹果iPhone 18 Pro自研C2芯片或不支持5G毫米波

苹果自研C2芯片仅支持Sub-6GHz,不支持5G毫米波。因此,美版iPhone18Pro继续采用高通基带方案以支持毫米波,而其他地区版本则搭载苹果自研C2芯片。这一差异将导致在毫米波覆盖的市场中,用户峰值速率可能显著低于美版用户。

纳睿雷达推出睿宸超精细化短时临近AI气象大模型
科技数码 · 2026-07-03

纳睿雷达推出睿宸超精细化短时临近AI气象大模型

纳睿雷达近日释放了一项重磅成果。2026年7月1日,公司正式对外发布了两款自主研发的全新产品:一款是“WDSPT0152型”S波段全极化多功能有源相控阵雷达,另一款则是名为“睿宸”的超精细化短时临近AI气象大模型。从产品战略来看,此次发布直指气象监测与灾害预警领域的技术制高点。 先来看这款S波段雷达

南航国际创新港一期交付 四大专业园区打造空天产业强磁场
科技数码 · 2026-07-03

南航国际创新港一期交付 四大专业园区打造空天产业强磁场

近日,南京航空航天大学与六合区深度合作的标杆项目——南航国际创新港一期正式交付投用。两个地块陆续启用,成功串联起高校科研能量、地方产业载体与市场创新主体,为南京打造全国领先的航空航天产业创新中心、助力江苏布局商业航天全产业链,提供了坚实的物理支撑。 该创新港一期位于六合区雄州街道,分为3号和4号两个