当前位置: 首页 > news >正文

tcpdump 命令解析(随手记)

目录

  • 简介
  • 命令解析
  • 实际使用

简介

Tcpdump是类 Unix 系统的王牌抓包工具,名字由「TCP 协议」和「数据导出」组合而来。它基于 libpcap 库实时捕获网络数据包,支持:

  • 嗅探并保存流量数据
  • 按协议 / 端口 / IP 精准过滤
  • 生成 pcap 文件供后续分析

tcpdump 是一个单独 yum 包,可以直接通过yum install -y tcpdump安装

$ rpm -qa| grep tcpdump
tcpdump-4.99.1-1.oe1.x86_64

命令解析

在这里插入图片描述

选项描述
-a将网络地址和广播地址转变成名字
-A以ASCII码格式打印出所有数据包,并将链路层的头部最小化
-B用于设置操作系统捕捉缓冲大小
-c指定抓取数据包的数量
-C此选项用于配合-w选项使用,如果保存文件大小超过阈值则关闭当前文件,并启用新文件继续保存数据(分多个固定大小的文件保存抓包数据,利于长期抓包的场景)
-d将匹配到的数据包以人们能够理解的汇编格式输出
-dd以C语言的形式打印出包匹配码
-ddd以十进制数的形式打印出包匹配码
-D打印系统中所有支持抓包的网络接口
-e在输出行打印出数据链路层的头部信息
-E解密IPsec ESP分组。具体来说,它使用spi@ipaddr algo:secret的格式来解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。这样,tcpdump可以捕获并显示经过IPsec加密的数据包内容,帮助用户更好地分析和理解网络流量
-f将外部的因特网地址以数字的形式打印出来
-F使用file文件作为过滤条件表达式的输入
-i指定监听网络接口
-l对标准输出进行行缓冲
-L列出指定网络接口所支持的数据链路层的类型后退出
-m通过module 指定的file 装载SMI MIB 模块
-n不把网络地址转换成名称,即直接显示IP地址而不是主机名
-N不打印出host 的域名部分
-nn不进行端口名称的转换
-O不启用进行包匹配时所用的优化代码
-p不让网络接口进入混杂模式
-q快速简短打印输出
-R设定tcpdump 对 ESP/AH 数据包的解析按照 RFC1825而不是RFC1829
-r从文件file 中读取包数据
-s数据包抓取长度,如果不设置默认将会是68字节
-S打印TCP 数据包的顺序号时, 使用绝对的顺序号, 而不是相对的顺序号
-t在每行输出中不打印时间戳
-tt不对每行输出的时间进行格式处理
-ttttcpdump 输出时, 每两行打印之间会延迟一个段时间(以毫秒为单位)
-tttt在每行打印的时间戳之前添加日期的打印
-u打印出未加密的NFS句柄
-U使得当tcpdump在使用-w 选项时, 其文件写入与包的保存同步
-v分析和打印产生详细的输出
-vv产生比-v更详细的输出
-vvv产生比-vv更详细的输出
-w把包数据直接写入文件而不进行分析和打印输出
-W设置输出文件的最大数目
-x以十六进制的形式打印每个数据包的头部数据,但是不包括数据链路层的头部
-xx以十六进制的形式打印每个数据包的头部数据,并且包括数据链路层的头部
-X以ASCII码格式显示输出,但是不包括数据链路层的头部
-XX以ASCII码格式显示输出,并且包括数据链路层的头部
-y只捕获数据链路层协议类型是datalinktype的数据包

实际使用

  1. 默认启动——监听系统上第一个网络接口的所有流过数据包,结果会在前台直接打印出来
tcpdump

在这里插入图片描述

  1. 抓取指定网卡的流量,同样会在前台打印出来
tcpdump -i <NIC-Name># e.g.: tcpdump -i ensf160p0
  1. 抓取指定网卡的流量,并保存到pcap 文件中
# 保存
tcpdump -i lo -w lo.pcap# 这个文件是binary file,读取
tcpdump -r lo.pcap
  1. 抓取包含指定 mac 的数据包
# 包含 mac
tcpdump -i lo -w lo.pcap ether host aa:bb:cc:dd:ee:ff
# 包含 源mac
tcpdump -i lo -w lo.pcap ether src aa:bb:cc:dd:ee:ff
# 包含 目的mac
tcpdump -i lo -w lo.pcap ether dst aa:bb:cc:dd:ee:ff
  1. 抓取包含指定 IP 的数据包
# 包含 ip
tcpdump -i eth0 host 192.168.1.2 -w eth0_192.168.1.2.pcap
# 或者
tcpdump -i eth0 -nn 'host 192.168.1.2'# 包含源ip
tcpdump -i eth0 src host 192.168.1.2
# 或者
tcpdump -i eth0 -nn 'src host 192.168.1.2'# 包含目的ip
tcpdump -i eth0 dst host 192.168.1.2
# 或者
tcpdump -i eth0 -nn 'dst host 192.168.1.2'# 匹配源目 ip
tcpdump -i eth0 'src host 192.168.1.2 and dst host 192.168.1.3'
  1. 包含指定端口
# 某个端口
tcpdump -i lo -nnA 'port 80 and src host 192.168.1.2'# 除非某个端口
tcpdump -i lo -nnA '!port 22'
http://www.lryc.cn/news/594855.html

相关文章:

  • IOPaint+CPolar:零公网IP也能搭建专属AI图像编辑平台
  • 高级技术【Java】【反射】【注解】【动态代理】
  • 复习博客:JVM
  • 【Project】ELK 7.17.16 日志分析系统部署
  • 阿里云平台使用的ack创建的pod与服务器中的MongoDB不在同一网段如何解决
  • 【图像处理基石】什么是相机的内外参数?
  • 单表查询-分页提前获取数据
  • 自动化与安全 - 将 Terraform 集成到 CI/CD
  • 安装pytorch(cpu版)
  • 电科金仓2025发布会,国产数据库的AI融合进化与智领未来
  • 【Lucene】SimScorer
  • 【Spring AI】Advisors API—顾问(即拦截器)
  • 轨迹优化 | 基于边界中间值问题(BIVP)的路径平滑求解器(附C++/Python仿真)
  • 6.String、StringBuffer、StringBuilder区别及使用场景
  • C++学习笔记(六:数组)
  • AI Agent与MCP Service技术进展结构化分析报告(2025Q2)
  • 解决win10下Vmware虚拟机在笔记本睡眠唤醒后ssh连接不上的问题
  • 项目研发进度安排
  • 音视频学习(四十二):H264帧间压缩技术
  • 【时时三省】(C语言基础)使用字符指针变量和字符数组的比较
  • Electron使用WebAssembly实现CRC-16 原理校验
  • Java 二叉树
  • C++11之右值引用与移动语义(提高效率)重要
  • 【Linux指南】Linux系统 -权限全面解析
  • Jetpack ViewModel LiveData:现代Android架构组件的核心力量
  • 病历数智化3分钟:AI重构医院数据价值链
  • AI+Python | 长时序植被遥感:动态·物候·变异归因·RSEI生态评估全流程[特殊字符]
  • C语言(20250718)
  • 车载电子电器架构 --- MCU信息安全相关措施
  • 基于springboot+vue+mysql的在线教育系统(源码+论文)