linux之tcpdump命令

在日常系统维护中,遇到需要抓包的需求,下面对linux环境使用tcpdump命令进行抓包进行分析记录。tcpdump命令可用抓取流动在网卡上的数据包。

1、tcpdump常用参数说明

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

2、tcpdump支持的过滤方式

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

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 9999
  10. 抓取指定端口
    tcpdump udp port 8801 -w /tmp/test.cap
相关推荐
夏日听雨眠2 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
ydyd202604213 小时前
制造业数字化干货:设备巡检、报修、保养一体化管理流程拆解
网络
qq_542515413 小时前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
火车叼位3 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
Hali_Botebie3 小时前
【图卷积网络】GCN是AXΘ 和CNN是AX
网络·人工智能·cnn
IpdataCloud3 小时前
高并发场景下IP数据接口怎么选?从QPS到离线库的完整选型指南
网络·网络协议·tcp/ip
小麦嵌入式4 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发
CableTech_SQH4 小时前
企业园区网络突然中断排查时间影响生产?综合布线运维管理解决方案分析
网络
難釋懷4 小时前
Redis网络模型-IO多路复用模型-poll模式
网络·数据库·redis
皮卡蛋炒饭.5 小时前
传输层协议UDP
linux·网络协议·udp