0

0

Linux网络流量分析方法_tcpdump实战应用解析【教程】

冰川箭仙

冰川箭仙

发布时间:2025-12-30 17:34:02

|

222人浏览过

|

来源于php中文网

原创

tcpdump是Linux下实时捕获分析网络数据包的核心工具,支持基础抓包保存、协议/主机/子网过滤、实时显示限制、管道动态分析五类实战场景。

linux网络流量分析方法_tcpdump实战应用解析【教程】

如果您需要在Linux系统中实时捕获和分析网络数据包,tcpdump是最常用且功能强大的命令行工具之一。以下是针对不同分析场景的多种tcpdump实战应用方法:

一、基础抓包与保存

该方法用于捕获指定接口上的原始流量并保存为文件,便于后续用Wireshark等工具深入分析。默认情况下tcpdump仅显示简略摘要,保存为pcap格式可保留完整帧结构。

1、执行sudo tcpdump -i eth0 -w capture.pcap,以root权限在eth0接口上持续捕获所有流量并写入本地文件。

2、按Ctrl+C中断捕获过程。

3、使用file capture.pcap验证文件格式是否为PCAP。

4、将capture.pcap复制至图形界面环境,用Wireshark打开进行协议层级解析。

二、按协议类型过滤抓包

通过表达式语法限制捕获范围,减少无关数据干扰,提升分析效率。tcpdump支持基于协议名、端口号、方向等条件组合过滤。

1、执行sudo tcpdump -i any port 80 -w http.pcap,捕获所有经过80端口的流量(含HTTP请求与响应)。

2、执行sudo tcpdump -i any icmp -w ping.pcap,仅捕获ICMP协议数据包,适用于诊断连通性问题。

3、执行sudo tcpdump -i any 'tcp[tcpflags] & (tcp-syn|tcp-ack) != 0' -w syn_ack.pcap,捕获TCP三次握手阶段的SYN或ACK标志位置位的数据包。

4、确认tcpflags字段在tcpdump中需配合方括号引用,避免shell解析错误。

三、按主机或子网范围过滤抓包

该方法聚焦于特定通信节点,适用于排查某台服务器异常外联、内部主机横向移动等安全分析任务。支持IPv4和IPv6地址匹配。

1、执行sudo tcpdump -i eth0 host 192.168.1.100 -w target_host.pcap,仅捕获与192.168.1.100双向交互的所有流量。

2、执行sudo tcpdump -i eth0 net 10.0.0.0/8 -w internal_net.pcap,捕获目标或源属于10.0.0.0/8网段的所有数据包。

KPPW客客出品专业威客系统
KPPW客客出品专业威客系统

客客出品专业威客系统英文名称KPPW,也是keke produced professional witkey的缩写。KPPW是一款基于PHP+MYSQL技术构架的威客系统,积客客团队多年实践和对威客模式商业化运作的大量调查分析而精心策划研发,是您轻松搭建威客网站的首选利器。KPPW针对威客任务和商品交易模式进行了细致的分析,提供完善威客任务流程控制解决方案,并将逐步分享威客系统专业化应用作为我们的

下载

3、执行sudo tcpdump -i eth0 src host 172.16.5.20 and dst port 443,筛选出源IP为172.16.5.20且目的端口为443的出向HTTPS流量。

4、注意host关键字同时匹配源和目的,如需单向限定须显式使用srcdst前缀。

四、实时显示并限制输出长度

当无需保存文件而仅需快速查看流量特征时,可启用实时打印模式,并控制每包显示字节数,避免终端刷屏过快影响观察。

1、执行sudo tcpdump -i lo -nn -X -s 128 port 53,监听回环接口,禁用域名与端口解析(-nn),以十六进制+ASCII混合格式显示前128字节(-s 128),聚焦DNS查询内容。

2、执行sudo tcpdump -i eth0 -A -c 10 port 22,以ASCII文本方式(-A)显示前10个(-c 10)SSH连接的数据包载荷。

3、执行sudo tcpdump -i any -tttt port 3306,添加微秒级绝对时间戳(-tttt),便于比对MySQL客户端与服务端交互时序。

4、确保-s 0参数用于捕获完整数据包(非截断),但在高吞吐场景下可能显著增加CPU开销。

五、结合管道进行动态分析

利用Linux管道机制将tcpdump输出直接传递给其他命令,实现不落地的流式处理,适用于日志聚合、关键词提取、异常行为告警等轻量级分析需求。

1、执行sudo tcpdump -i eth0 -n -q -t port 53 2>/dev/null | head -20,静默输出DNS查询摘要(-q),去除时间戳(-t),取前20行快速识别高频域名请求。

2、执行sudo tcpdump -i any -n -l port 80 | grep -E 'GET|POST' | awk '{print $3,$5}',实时提取HTTP请求行中的源IP与目标URL路径片段。

3、执行sudo tcpdump -i eth0 -n -l icmp | cut -d' ' -f3,5 | sort | uniq -c | sort -nr | head -5,统计最近ICMP会话中访问最频繁的源-目的IP对。

4、注意-l参数启用行缓冲,确保管道下游命令能即时接收到逐行输出,否则默认全缓冲会导致延迟。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

652

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

244

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

280

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

513

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

250

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

384

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

522

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

594

2023.08.14

桌面文件位置介绍
桌面文件位置介绍

本专题整合了桌面文件相关教程,阅读专题下面的文章了解更多内容。

0

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.5万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 777人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号