Linux tcpdump 详解教程

简介

tcpdump 是一款在 Linux 平台上广泛使用的网络抓包工具。它可以捕获整个 TCP/IP 协议族的数据包,并支持对网络层、协议、主机、端口等进行过滤。tcpdump 提供了强大的过滤功能,允许使用 and、or、not 等逻辑语句来筛选数据包,非常适合用于网络故障分析和安全监控。

安装 tcpdump

在大多数 Linux 发行版上,可以使用包管理器安装 tcpdump。例如,在基于 Debian 的系统上:

bash 复制代码
sudo apt-get install tcpdump

在基于 Red Hat 的系统上:

bash 复制代码
sudo yum install tcpdump

tcpdump 命令选项

tcpdump 有很多命令选项,可以通过 tcpdump -h 或 man tcpdump 查看所有选项的详细说明。以下是一些常用的选项:

  • -i interface:指定网络接口。
  • -w file:将捕获的数据包写入文件。
  • -r file:从文件中读取数据包。
  • -s snaplen:设置每个包的抓取长度,默认为68字节。
  • -c count:指定捕获数据包的数量。
  • -A:以ASCII码方式显示每个数据包的内容。
  • -X:同时以十六进制和ASCII码显示数据包内容。

基本使用

捕获所有接口的流量

bash 复制代码
sudo tcpdump -i any -w capture.pcap
  • -i any 表示监听所有网络接口。
  • -w capture.pcap 表示将捕获的数据保存到 capture.pcap 文件中。

捕获特定接口的流量

bash 复制代码
sudo tcpdump -i eth0 -w capture.pcap

捕获特定端口的数据包

bash 复制代码
sudo tcpdump -i eth0 port 80 -w capture.pcap

实时查看抓包数据

如果希望在抓包过程中实时查看数据,可以不使用 -w 选项,而是直接在终端输出:

bash 复制代码
sudo tcpdump -i eth0

高级过滤

tcpdump 支持复杂的过滤规则,例如:

  • 捕获特定主机的数据包:
bash 复制代码
tcpdump host 192.168.1.1
  • 捕获两个特定主机之间的数据包:
bash 复制代码
tcpdump host 192.168.1.1 and 192.168.1.2
  • 捕获特定协议的数据包:
bash 复制代码
tcpdump tcp
  • 捕获特定源端口或目的端口的数据包:
bash 复制代码
tcpdump portrange 1-1024

tcpdump 与 Wireshark

Wireshark 是一个图形界面的网络协议分析工具,可以与 tcpdump 结合使用。在 Linux 中使用 tcpdump 抓包,然后在 Windows 中使用 Wireshark 进行分析。保存数据包为 Wireshark 能识别的文件:

bash 复制代码
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
  • -t:不显示时间戳。
  • -s 0:抓取完整的数据包。
  • -c 100:捕获100个数据包。
  • -w ./target.cap:将数据包写入 target.cap 文件中。

通过上述教程,你应该能够掌握 tcpdump 的基本使用和一些高级功能,以便在 Linux 系统中进行网络数据包的捕获和分析。

相关推荐
Canmag 兴隆磁性5 小时前
中大型钕铁硼产品的磁通测量与自动分选:一条产线自动化的工程实现思路
运维·学习·自动化·永磁材料
福建佰胜张工6 小时前
SMC 薄型气爪 MHF2-16D1 深度解析:平行开闭、低剖面结构在自动化装配中的选型与落地
java·服务器·安全·自动化
xuefeiniao7 小时前
PHP2Shell漏洞修复
运维·服务器·php
水饺编程8 小时前
第2章:Linux 基础,切换到超级用户
linux·c语言·汇编
便利店10248 小时前
系统活动一抓留存!深入 Linux C/C++ 调试工具之 sysdig
linux·运维·服务器·sysdig
g3voip9 小时前
工业防水电话到底怎么选?隧道、管廊与码头的需求差异
服务器·网络·信息与通信·ip
qetfw9 小时前
Bash 变量:export、位置参数与默认值展开验证
linux·开发语言·chrome·bash
智能运维指南9 小时前
企业 IT 运维自动化平台怎么选?从场景匹配到 POC 验证的完整评估框架
运维·自动化·自动化运维·嘉为蓝鲸
其实防守也摸鱼10 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
.Bryce.10 小时前
从强化学习到Agentic RL:让Agent在“干活“中自己变聪明
服务器·网络·agent·rag·agentic rl