news 2026/5/5 2:29:15

Linux tcpdump工具的使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux tcpdump工具的使用

目录

目录

前言

tcpdump命令的常见参数

“-h”:查看帮助信息

“--version”:查看版本号

“-D”:列出系统中所有可以用于tcpdump抓取数据包的网卡列表

“-i”:指定哪个网卡接口

“host”:筛选出指定的主机IP的相关数据包

“port”:指定哪个端口,例如:

“-w”:把包数据直接写入指定的文件中而不进行分析和打印输出

tcpdump抓包文件的解析

总结


前言

tcpdump是强大的网络数据采集分析工具之一,称为抓包工具。它可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供逻辑语句来帮助我们过滤掉无用的信息。其中tcpdump字面拆分,tcp:传输控制协议(transmission control protocol),位于传输层,dump:导出的意思。


tcpdump命令的常见参数

“-h”:查看帮助信息

例如:

# tcpdump -h tcpdump version 4.9.3 libpcap version 1.9.1 (with TPACKET_V3) Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ] [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ] [ -Q in|out|inout ] [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ] [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ] [ expression ]

“--version”:查看版本号

例如:

# tcpdump --version tcpdump version 4.9.3 libpcap version 1.9.1 (with TPACKET_V3)

“-D”:列出系统中所有可以用于tcpdump抓取数据包的网卡列表

例如:

# tcpdump -D 1.wlan0 [Up, Running] 2.any (Pseudo-device that captures on all interfaces) [Up, Running] 3.lo [Loopback]

“-i”:指定哪个网卡接口

例如:

# tcpdump -i wlan0 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes 00:22:21.386610 IP 192.168.169.59.38394 > 192.168.32.3.domain: 5+ SRV? _sips._tcp.sipgz04.hbq.r.10086.cn. (51) ... 00:22:21.560149 IP 192.168.169.59.7879 > 180.76.76.76.domain: 42514+ AAAA? gap.work.weixin.qq.com. (40) 00:22:21.562346 IP 192.168.169.59.20975 > 180.76.76.76.domain: 17325+ A? gap.work.weixin.qq.com. (40)

“host”:筛选出指定的主机IP的相关数据包

例如:

# tcpdump host 192.168.169.1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes 18:20:50.598341 IP 192.168.169.59.39338 > 192.168.169.1.www: Flags [S], seq 2224882238, win 65535, options [mss 1460,sackOK,TS val 1395385504 ecr 0,nop,wscale 9], length 0 18:20:50.598450 IP 192.168.169.1.www > 192.168.169.59.39338: Flags [S.], seq 4160180220, ack 2224882239, win 65160, options [mss 1460,sackOK,TS val 2182696542 ecr 1395385504,nop,wscale 3], length 0 18:20:50.603623 IP 192.168.169.59.39338 > 192.168.169.1.www: Flags [.], ack 1, win 128, options [nop,nop,TS val 1395385527 ecr 2182696542], length 0 18:20:50.603965 IP 192.168.169.59.39338 > 192.168.169.1.www: Flags [P.], seq 1:212, ack 1, win 128, options [nop,nop,TS val 1395385528 ecr 2182696542], length 211: HTTP: GET /app/getparamvalue?param=rec HTTP/1.1 18:20:50.604034 IP 192.168.169.1.www > 192.168.169.59.39338: Flags [.], ack 212, win 8119, options [nop,nop,TS val 2182696547 ecr 1395385528], length 0 ...

“port”:指定哪个端口,例如:

# tcpdump port 554 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes 18:36:22.460633 IP 192.168.169.1.554 > 192.168.169.59.41456: Flags [P.], seq 1908680467:1908680662, ack 3404164144, win 8010, options [nop,nop,TS val 2183627926 ecr 1396316862], length 195: RTSP 18:36:22.484299 IP 192.168.169.59.41456 > 192.168.169.1.554: Flags [.], ack 195, win 1532, options [nop,nop,TS val 1396316913 ecr 2183627926], length 0 18:36:22.491079 IP 192.168.169.1.554 > 192.168.169.59.41456: Flags [P.], seq 195:470, ack 1, win 8010, options [nop,nop,TS val 2183627957 ecr 1396316913], length 275: RTSP 18:36:22.495765 IP 192.168.169.59.41456 > 192.168.169.1.554: Flags [.], ack 470, win 1532, options [nop,nop,TS val 1396316943 ecr 2183627957], length 0 18:36:22.531393 IP 192.168.169.1.554 > 192.168.169.59.41456: Flags [P.], seq 470:759, ack 1, win 8010, options [nop,nop,TS val 2183627997 ecr 1396316943], length 289: RTSP 18:36:22.538752 IP 192.168.169.59.41456 > 192.168.169.1.554: Flags [.], ack 759, win 1532, options [nop,nop,TS val 1396316985 ecr 2183627997], length 0 18:36:22.571757 IP 192.168.169.1.554 > 192.168.169.59.41456: Flags [P.], seq 759:1014, ack 1, win 8010, options [nop,nop,TS val 2183628038 ecr 1396316985], length 255: RTSP 18:36:22.578728 IP 192.168.169.59.41456 > 192.168.169.1.554: Flags [.], ack 1014, win 1532, options [nop,nop,TS val 1396317025 ecr 2183628038], length 0 18:36:22.606963 IP 192.168.169.1.554 > 192.168.169.59.41456: Flags [P.], seq 1014:1309, ack 1, win 8010, options [nop,nop,TS val 2183628073 ecr 1396317025], length 295: RTSP ...

“-w”:把包数据直接写入指定的文件中而不进行分析和打印输出

注意这里的文件后缀名为pcap或cap。

例如:

# tcpdump -w /mnt/card/test.pcap tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes

tcpdump抓包文件的解析

pcap或cap文件是常见的数据报存储格式文件,数据按照特定格式存储,普通编辑器无法正常打开该类型的文件或无法直观查看数据的重要信息。它们需要特定的解析工具软件才能直观地读取并查看,如wireshark等。


总结

tcpdump是一款命令行网络数据包捕获和分析工具,主要用于实时监控和诊断网络流量。‌

‌核心作用:‌ tcpdump的核心功能是捕获流经指定网络接口的数据包,并基于网络层协议、主机地址、端口号或数据包方向等条件进行过滤分析。它通过Berkeley Packet Filter(BPF)语法高效筛选数据,输出格式包含时间戳、源/目标IP及端口等信息,便于快速识别异常流量或协议交互。‌

‌适用场景:‌ tcpdump广泛应用于以下领域:

  • ‌网络故障排查‌:通过捕获数据包定位连接超时、路由问题或服务不可达等故障,例如分析TCP三次握手过程。
  • ‌性能监控与流量分析‌:统计特定主机或端口的流量模式,评估带宽利用率,识别网络瓶颈。
  • ‌安全监控与威胁检测‌:捕获可疑流量(如异常端口访问或扫描行为),辅助入侵检测。
  • ‌协议分析与开发调试‌:验证自定义协议行为或调试网络应用通信细节。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 17:44:14

无源蜂鸣器PWM驱动原理:频率调制技术深度剖析

无源蜂鸣器如何“唱歌”?——用PWM玩转频率调制的硬核实战解析你有没有想过,一个几毛钱的无源蜂鸣器,是怎么“演奏”出《生日快乐》或者报警提示音的?它不像扬声器那样能播放音乐文件,也没有内置芯片来自动发声。但它却…

作者头像 李华
网站建设 2026/5/1 3:52:12

React Native 0.74.2 升级指南与错误修复

引言 最近,React Native 发布了0.74.2版本,带来了许多新特性和改进。然而,升级到这个版本后,许多开发者遇到了pod install运行时出现的错误。本文将详细介绍这些问题的原因以及如何解决这些问题。 问题背景 在升级到React Native 0.74.2后,运行pod install时,可能会遇…

作者头像 李华
网站建设 2026/5/3 10:08:58

一文说清硬件电路设计中的原理图结构与层次化设计

一文讲透原理图结构与层次化设计:从“画线”到“系统工程”的跃迁你有没有经历过这样的时刻?打开一个几百页的原理图项目,满屏飞线交错、信号密布,想找一个电源网络却像在迷宫里找出口;或者团队协作时,同事…

作者头像 李华
网站建设 2026/5/1 17:05:01

Windows 11升级后Multisim主数据库无法访问?一文说清系统差异

Windows 11升级后Multisim主数据库打不开?别急,一文讲透底层机制与实战修复最近不少高校实验室和电子工程师反馈:刚把电脑从Windows 10升级到Windows 11,结果打开NI Multisim时弹出“multisim主数据库无法访问”的错误提示——元件…

作者头像 李华
网站建设 2026/5/1 17:53:20

基于ioctl的结构体传参方法:从零实现示例

深入理解 ioctl 结构体传参:从开发痛点到实战落地你有没有遇到过这样的场景?设备需要配置十几个参数,用write()写一串字节流,结果字段对不上、大小端出错、结构体填充导致偏移错乱……调试三天,最终发现是用户态和内核…

作者头像 李华
网站建设 2026/5/3 18:04:24

滴水洞:泉鸣幽谷间,青山藏别墅

在湖南省韶山市的西北角,有一处名为滴水洞的景区。它并非一个通常意义上的溶洞,而是一片被龙头山、虎歇坪和牛形山三面环抱的幽深峡谷,仅东北角有一条公路与外界相连,形成了一处隐秘而清雅的自然天地。因其独特的地理环境和曾经的…

作者头像 李华