Linux 使用tcpdump指令抓包(tcp/udp)

本文介绍了Linux系统中tcpdump命令的使用,包括常用参数如 `-c`、`-C`、`-i`、`-n`、`-r`、`-s`、`-t`、`-vv` 和 `-w`,以及如何通过过滤选项筛选主机、端口和协议。示例展示了如何抓取特定网卡、IP、端口的数据包,并将其保存到文件。同时,文章还涵盖了逻辑运算符(and、or、not)在过滤条件中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux使用tcpdump进行抓包,这个命令可以抓取流动在网卡上的数据包。

1 tcpdump常用参数说明

-c : 抓包次数,打到指定次数后停止抓包
-C : 文件大小,写入文件钱判断文件是否超过了设置的大小,超过了则关闭当前文件,开启新文件
-i : 指定监听的网络接口
-nn : 不进行端口名称的转换
-r : 从指定文件中读取包
-s : 设置每个数据包的大小
-t : 在输出的每一行不打印时间戳
vv : 输出详细的报文信息
-w : 保存到指定文件中而不是打印出来,如tcpdump -w /home/test.pcap

2 tcpdump支持的过滤方式

过滤项过滤项说明示例
host、src host、dst host过滤主机tcpdump host 192.168.11.11
port,src port,dst port过滤端口tcpdump port 19999
ip,ip6,arp,tcp,udp,icmp过滤协议tcpdump udp 192.168.11.11
and,or,not逻辑表达式tcpdump host 192.168.11.11 and port 19999

3 示例

1、从所有网卡获取数据包
tcpdump -i any

2、获取指定网卡的数据包
tcpdump -i eth0

3、抓取包含指定ip的数据包
tcpdump host 192.168.11.11

4、获取指定网卡和地址的数据包,并写入文件
tcpdump -i eth0 host 192.168.11.11 -w testfile.cap

5、指定:网卡、源IP、目的IP,并写入文件
tcpdump -i eth0 src host 192.168.11.21 and dst host 192.168.11.11 -w testfile.cap

6、指定:网卡、源IP或目的IP、写入文件
tcpdump -i eth0 src host 192.168.11.21 0r dst host 192.168.11.11 -w testfile.cap

7、指定:网卡、tcp端口、源IP、目的IP
tcpdump -i eth0 port 19999 and src host 192.168.11.21 and dst host 192.168.11.11

8、抓包显示详细信息
tcpdump -vv

9、抓取udp包
tcpdump -i eth0 udp port 19999

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flying_fish79

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值