0

0

LINUX怎么抓包_LINUX tcpdump命令使用详解

裘德小鎮的故事

裘德小鎮的故事

发布时间:2025-12-27 13:45:10

|

922人浏览过

|

来源于php中文网

原创

tcpdump是Linux下最常用且功能强大的命令行抓包工具,支持通过选项和过滤表达式捕获、分析网络流量。其基本语法为tcpdump [选项] [过滤表达式],常用选项包括-i指定接口、-n/-nn不解析主机名和端口名、-v增加详细输出、-c限制抓包数量、-s设置捕获长度、-w保存数据到文件、-r读取文件分析。典型使用场景有监听指定网卡、按IP或端口过滤、协议筛选(如TCP/UDP/ICMP)、组合条件抓包(如host与port结合),并可通过-w将流量保存为pcap文件供Wireshark分析,或用-r回放。实际使用建议配合sudo提权、加过滤避免性能影响,利用单引号包裹复杂表达式防shell解析错误,结合grep等工具进一步处理输出,是网络排查、安全分析和性能调优的核心工具。

linux怎么抓包_linux tcpdump命令使用详解

在Linux系统中抓包,最常用且功能强大的工具就是tcpdump。它是一个命令行网络抓包和分析工具,能够捕获经过网卡的数据包,并根据条件过滤、显示或保存数据,广泛用于网络故障排查、安全分析和性能调优。

一、tcpdump基本语法

tcpdump 的基本命令格式如下:

tcpdump [选项] [过滤表达式]

其中,过滤表达式用于指定要捕获的数据包类型,比如基于IP、端口、协议等。

二、常用选项说明

掌握以下常用参数,能大幅提升使用效率:

  • -i interface:指定监听的网络接口,如 eth0、wlan0。使用 -i any 可监听所有接口。
  • -n:不解析主机名,直接显示IP地址,加快输出速度。
  • -nn:不解析主机名和端口名(如将http显示为80),输出更简洁。
  • -v, -vv, -vvv:增加输出的详细程度,v越多信息越详细。
  • -c count:只捕获指定数量的数据包后自动停止。
  • -s snaplen:设置每个数据包捕获的字节数,默认通常为262144字节,-s 0 表示捕获完整包。
  • -w file:将捕获的数据包保存到文件,供后续用 tcpdump 或 Wireshark 分析。
  • -r file:读取之前保存的抓包文件进行分析。

三、常见使用场景与示例

以下是实际工作中常用的几种抓包方式:

1. 监听指定网卡的流量

tcpdump -i eth0

监听 eth0 接口上的所有数据包。

2. 不解析IP和端口,提高速度

tcpdump -i eth0 -nn

避免DNS反向解析和端口名称转换,适合快速查看原始通信。

3. 只抓取特定主机的流量

tcpdump -i eth0 host 192.168.1.100

仅捕获与该IP通信的数据包,双向都包括。

4. 抓取指定源或目标IP

tcpdump -i eth0 src 192.168.1.100

只抓源IP为 192.168.1.100 的包。

tcpdump -i eth0 dst 192.168.1.200

只抓目标IP为 192.168.1.200 的包。

5. 按协议抓包

tcpdump -i eth0 tcp

只抓TCP协议的数据包。

tcpdump -i eth0 udp

Looka
Looka

AI辅助Logo和品牌设计工具

下载

只抓UDP包。

tcpdump -i eth0 icmp

抓ICMP包(如ping)。

6. 按端口过滤

tcpdump -i eth0 port 80

捕获所有涉及80端口的流量(HTTP)。

tcpdump -i eth0 src port 53

源端口为53的包(DNS查询)。

7. 组合条件抓包

tcpdump -i eth0 host 192.168.1.100 and port 22

抓取IP为192.168.1.100且使用22端口(SSH)的流量。

tcpdump -i eth0 'tcp port 443 and host 10.0.0.5'

抓取访问10.0.0.5的HTTPS流量。

8. 保存抓包数据到文件

tcpdump -i eth0 -nn -s 0 -w /tmp/capture.pcap

将完整数据包写入文件,可用于Wireshark打开分析。

9. 从文件读取分析

tcpdump -r /tmp/capture.pcap -nn

读取之前保存的pcap文件并按原样显示。

四、实用技巧与注意事项

  • 普通用户运行 tcpdump 可能权限不足,建议使用 sudo tcpdump 提权执行。
  • 生产环境抓包时,尽量加过滤条件,避免日志爆炸或影响性能。
  • 结合 grep 或重定向可进一步处理输出,例如:
    tcpdump -i eth0 -nn port 80 | grep "192.168.1.1"
  • 长时间抓包建议限制大小或数量,如配合 -c 100 防止磁盘占满。
  • Wireshark 图形化分析 pcap 文件更直观,tcpdump 抓包 + Wireshark 分析是常见组合。

基本上就这些。tcpdump 虽然命令多,但掌握核心选项和过滤语法后,日常排查网络问题非常高效。不复杂但容易忽略的是过滤表达式的书写顺序和引号使用,注意用单引号包裹复杂表达式避免shell解析错误。

相关专题

更多
counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

192

2023.11.20

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

984

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

41

2025.10.17

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

250

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

382

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

869

2024.03.12

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1562

2024.08.16

ip地址修改教程大全
ip地址修改教程大全

本专题整合了ip地址修改教程大全,阅读下面的文章自行寻找合适的解决教程。

27

2025.12.26

热门下载

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

精品课程

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

共18课时 | 4万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.1万人学习

NumPy 教程
NumPy 教程

共44课时 | 2.6万人学习

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

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