问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

tcpdump入门——基本功能概述

创作时间:
作者:
@小白创作中心

tcpdump入门——基本功能概述

引用
CSDN
1.
https://m.blog.csdn.net/LONG_Yi_1994/article/details/141176026

tcpdump 是一个强大的命令行抓包工具,广泛用于网络流量的捕获和分析。以下是详细的入门级讲解,帮助你理解如何使用 tcpdump

1. 安装 tcpdump

大多数 Linux 发行版默认包含 tcpdump。如果没有安装,可以通过以下命令安装:

  • Ubuntu/Debian:sudo apt-get install tcpdump
  • CentOS/Fedora:sudo yum install tcpdump

2. 基本用法

tcpdump [选项] [表达式]

3. 查看网络接口

在开始抓包之前,可以使用 tcpdump -D 查看系统中的网络接口:

tcpdump -D

输出示例:

4. 抓取特定接口上的流量

使用 -i 指定接口抓包(例如 eth0):

sudo tcpdump -i eth0

5. 保存抓取的数据

你可以将抓取的数据保存到文件中以供稍后分析:

sudo tcpdump -i eth0 -w capture.pcap
  • -w 表示将数据写入文件 capture.pcap
  • 使用 Wireshark 等工具打开 .pcap 文件进行分析。

6. 读取保存的抓包文件

使用 tcpdump 可以读取并分析 .pcap 文件:

tcpdump -r capture.pcap

-r 表示读取文件。

7. 过滤表达式

tcpdump 允许你使用过滤表达式,只抓取你感兴趣的数据包:

sudo tcpdump -i eth0 host 192.168.1.1

抓取特定端口的流量

sudo tcpdump -i eth0 port 80

抓取 TCP 流量

sudo tcpdump -i eth0 tcp

组合条件(AND、OR、NOT):

sudo tcpdump -i eth0 tcp and port 80 and not src 192.168.1.1

8. 常用选项

  • -n:不解析主机名(直接显示 IP 地址)。
  • -v, -vv, -vvv:增加输出的详细程度。
  • -c 数量:只抓取指定数量的包,然后停止。
  • -s Snaplength:指定抓包时捕获数据的最大字节数,默认为 65535。如果只需查看包头,可以将其设置为较小的值,如 -s 96
  • -A:以 ASCII 格式显示数据包的内容。
  • -X:以十六进制和 ASCII 格式显示数据包内容。
  • -S:表示显示绝对序列号。

9. 实例演示

sudo tcpdump -i eth0 port 80

只抓取来自特定IP地址的流量

sudo tcpdump -i eth0 src 192.168.1.1

抓取并显示数据包内容

sudo tcpdump -i eth0 -A

抓取指定数量的数据包后停止

sudo tcpdump -i eth0 -c 10

10. 总结

tcpdump 是一个功能强大但容易上手的工具。掌握基本命令和选项后,你可以根据需要构建复杂的过滤表达式,以便更精准地捕获和分析网络流量。无论是用于简单的网络问题排查,还是深入的安全分析,tcpdump 都是一个值得学习和使用的工具。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号