当前位置: 首页 > 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.dtcms.com/a/291131.html

相关文章:

  • Vue过度与动画效果
  • 【Linux】重生之从零开始学习运维之Mysql安装
  • GNU Radio多类信号多种参数数据集生成技巧
  • 【Spring AI】Advisors API—顾问(即拦截器)
  • 信号量demo
  • 【华为机试】503. 下一个更大元素 II
  • 【华为机试】85. 最大矩形
  • Excel函数 —— UNIQUE 去重提取唯一值
  • 智能码表新革命:VTX316-TTS语音芯片如何重塑骑行体验
  • 【补充】Linux内核链表机制
  • C语言自定义类型:联合体和枚举
  • CS231n-2017 Lecture4神经网络笔记
  • 【爬虫】05 - 爬虫攻防
  • 车载软件架构 --- 软件开发面临的问题
  • 神经网络——归一化层
  • 从 C# 到 Python:项目实战第五天的飞跃
  • Ubuntu 22 集群部署 Apache Doris 3.0.3 笔记
  • 音视频重回顾及nat内网穿透相关再整理笔记
  • Ubuntu 22.04 安装 Docker (安装包形式)
  • ESP32-S3 小电视学习笔记1:分光棱镜、QMI8658六轴惯导计、1.3英寸LCD屏
  • 4.Java创建对象有几种方式?
  • Spring Cloud——Spring Cloud LoadBalancer
  • 7月21日总结
  • C/C++---emplace和emplace_back
  • 企业IT管理——IT系统灾难恢复计划及实施步骤参考模板
  • rk3588 Android 12 添加framework层服务,HAL库,从硬件驱动层到上层APP,实现led灯控
  • OpenAI开发的一款实验性大型语言模型(LLM),在2025年国际数学奥林匹克竞赛(IMO)中达到了金牌水平
  • 数智管理学(三十七)
  • liunx宝塔面板部署easyswoole项目
  • 常规笔记本和加固笔记本的区别