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

从零开始掌握tcpdump:参数详解

在这里插入图片描述

Linux tcpdump命令详解

1. 语法
tcpdump [-adeflnnNOpqStvxX] [-c <数据包数目>] [-dd] [-ddd] [-F <表达文件>] [-i <网络界面>] [-r <数据包文件>] [-s <数据包大小>] [-tt] [-T <数据包类型>] [-vv] [-w <数据包文件>] [输出数据单位]
2. 参数说明
  1. -a 尝试将网络和广播地址转换成名称。

    • 示例
      tcpdump -a -i eth0
      
      将捕获到的eth0接口的网络和广播地址转换为名称显示。
  2. -c <数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。

    • 示例
      tcpdump -c 10 -i eth0
      
      捕获10个eth0接口上的数据包后停止。
  3. -d 把编译过的过滤包编译转换成可读的格式,并倾倒到标准输出。

    • 示例
      tcpdump -d -i eth0
      
      显示编译过的过滤表达式。
  4. -dd 把编译过的过滤包编译转换成C语言的格式,并倾倒到标准输出。

    • 示例
      tcpdump -dd -i eth0
      
      以C语言格式显示编译过的过滤表达式。
  5. -ddd 把编译过的过滤包编译转换成十进制数字的格式,并倾倒到标准输出。

    • 示例
      tcpdump -ddd -i eth0
      
      以十进制格式显示编译过的过滤表达式。
  6. -e 在每列倾倒的资料上显示连线层级的文件头。

    • 示例
      tcpdump -e -i eth0
      
      显示eth0接口上的数据包的以太网头部信息。
  7. -f 用数字显示网际网路地址。

    • 示例
      tcpdump -f -i eth0
      
      用数字格式显示IP地址。
  8. -F <表达文件> 指定内容表达方式的文件。

    • 示例
      tcpdump -F filter.txt -i eth0
      
      使用filter.txt中的表达方式过滤eth0接口上的数据包。
  9. -i <网络界面> 使用指定的网络接口送出数据包。

    • 示例
      tcpdump -i eth0
      
      捕获eth0接口上的数据包。
  10. -l 使用标准输出的缓冲区。

    • 示例
      tcpdump -l -i eth0
      
      将输出行缓冲。
  11. -n 不把主机的网络地址转换成名称。

    • 示例
      tcpdump -n -i eth0
      
      不转换主机名。
  12. -N 不列出域名。

    • 示例
      tcpdump -N -i eth0
      
      不解析主机名的域名部分。
  13. -O 不将数据包编码器最佳化。

    • 示例
      tcpdump -O -i eth0
      
      禁用优化。
  14. -p 不让网络界面进入混杂模式。

    • 示例
      tcpdump -p -i eth0
      
      使eth0接口不进入混杂模式。
  15. -q 快速输出,仅列出少数的传输协议信息。

    • 示例
      tcpdump -q -i eth0
      
      简单快速输出数据包的信息。
  16. -r <数据包文件> 从指定的文件读取数据包数据。

    • 示例
      tcpdump -r file.pcap
      
      file.pcap文件读取数据包。
  17. -s <数据包大小> 设置每个数据包的大小。

    • 示例
      tcpdump -s 1024 -i eth0
      
      捕获eth0接口上前1024字节的数据包。
  18. -S 用绝对而非相对数值列出TCP序列号。

    • 示例
      tcpdump -S -i eth0
      
      以绝对序列号显示TCP序列号。
  19. -t 在每列倾倒资料上不要显示时间戳记。

    • 示例
      tcpdump -t -i eth0
      
      不显示时间戳。
  20. -tt 在每列倾倒资料上显示未经过格式化的时间戳记。

    • 示例
      tcpdump -tt -i eth0
      
      显示未经格式化的时间戳。
  21. -T <数据包类型> 强制将表达方式所指的类型的数据信息转换成该数据包类型。

    • 示例
      tcpdump -T rpc -i eth0
      
      将捕获的eth0接口上的数据包解释为RPC数据包。
  22. -v 详细显示指令执行过程。

    • 示例
      tcpdump -v -i eth0
      
      详细显示捕获数据包的信息。
  23. -vv 更详细显示指令执行过程。

    • 示例
      tcpdump -vv -i eth0
      
      更详细地显示数据包信息。
  24. -x 用十六进制字码列出数据包资料。

    • 示例
      tcpdump -x -i eth0
      
      以十六进制格式显示eth0接口上的数据包内容。
  25. -X 用十六进制和ASCII码列出数据包资料。

    • 示例
      tcpdump -X -i eth0
      
      以十六进制和ASCII码显示eth0接口上的数据包内容。
  26. -w <数据包文件> 把数据包资料写入到指定的文件。

    • 示例
      tcpdump -w file.pcap -i eth0
      
      将捕获的eth0接口上的数据包写入file.pcap文件。
3. 使用tcpdump的详细抓包示例

捕获eth0接口上TCP协议的HTTP请求,并保存到文件http_requests.pcap中。

  1. 运行tcpdump命令

    tcpdump -i eth0 'tcp port 80' -w http_requests.pcap
    
    • 命令解释
      • -i eth0:指定网络接口eth0
      • 'tcp port 80':过滤条件,捕获TCP协议的80端口数据包(HTTP请求)。
      • -w http_requests.pcap:将捕获的数据包保存到文件http_requests.pcap中。
  2. 查看保存的数据包

    tcpdump -r http_requests.pcap
    
    reading from file http_requests.pcap, link-type EN10MB (Ethernet)
    10:00:00.000000 IP 192.168.1.2.54321 > 192.168.1.1.http: Flags [S], seq 0, win 65535, options [mss 1460,sackOK,TS val 123456 ecr 0,nop,wscale 7], length 0
    10:00:01.000000 IP 192.168.1.1.http > 192.168.1.2.54321: Flags [S.], seq 0, ack 1, win 65535, options [mss 1460,sackOK,TS val 123457 ecr 123456,nop,wscale 7], length 0
    10:00:02.000000 IP 192.168.1.2.54321 > 192.168.1.1.http: Flags [.], ack 1, win 65535, options [nop,nop,TS val 123458 ecr 123457], length 0
    

相关文章:

从零开始掌握tcpdump:参数详解

Linux tcpdump命令详解 1. 语法 tcpdump [-adeflnnNOpqStvxX] [-c <数据包数目>] [-dd] [-ddd] [-F <表达文件>] [-i <网络界面>] [-r <数据包文件>] [-s <数据包大小>] [-tt] [-T <数据包类型>] [-vv] [-w <数据包文件>] [输出数…...

漏洞挖掘 | edusrc记一次某中学小程序渗透测试

一、搜集渗透目标 现在的EDU挖web端的上分效率远不如小程序&#xff0c;因此这篇文章浅浅记录一次小程序的挖掘吧。如果各位大牛想要快速出洞&#xff0c;不妨跳过大学&#xff0c;学院等小程序&#xff0c;而重点关注小学、中学、幼儿园等&#xff0c;这些小程序的出洞率还是…...

vulhub:nginx解析漏洞CVE-2013-4547

此漏洞为文件名逻辑漏洞&#xff0c;该漏洞在上传图片时&#xff0c;修改其16进制编码可使其绕过策略&#xff0c;导致解析为 php。当Nginx 得到一个用户请求时&#xff0c;首先对 url 进行解析&#xff0c;进行正则匹配&#xff0c;如果匹配到以.php后缀结尾的文件名&#xff…...

备战秋招:2024游戏开发入行与跳槽面试详解

注意&#xff1a;以下为本次分享概要&#xff0c;视频版内容更全面深入&#xff0c;详见文末 1.游戏开发领域秋招准备与面试技巧 本次分享由优梦创客机构的创始人雷蒙德主讲&#xff0c;专注于2024年秋招期间游戏开发领域的入行与跳槽面试准备。本次分享重点在于提供面试技巧…...

红外热成像手持终端:从建筑检测到野外搜救的全方位应用

红外热成像手持终端&#xff0c;凭借其独特的红外探测与夜视功能&#xff0c;广泛应用于多个关键领域。无论是军事侦察、消防救援中的夜间作业&#xff0c;还是电力巡检、野生动物观察等多样场景&#xff0c;其精准的红外热成像技术均能提供至关重要的实时数据&#xff0c;助力…...

day07 项目启动以及git

spring框架 spring 负责整合各种框架&#xff0c;把new对象的部分交给spring去做&#xff0c;对象new不出来&#xff0c;项目就启动不起来&#xff0c;这样可以有效保证所需要的对象都在容器中存在&#xff0c;后续的部分都可以顺利执行控制反转&#xff1a;业务对象创建依赖资…...

学会网络安全:开启广阔职业与责任之旅

在数字化时代&#xff0c;网络安全已成为社会经济发展的重要基石。随着互联网的普及和技术的飞速发展&#xff0c;网络安全威胁日益复杂多变&#xff0c;对国家安全、社会稳定以及个人隐私构成了严峻挑战。因此&#xff0c;掌握网络安全技能不仅意味着拥有了一项高价值的职业技…...

UE5 镜头

只狼镜头 Spring Arm 中 开启 Use Pawn Control Rotation&#xff1a;让镜头跟着鼠标移动BP_Character(Self) 中关闭 Use Controller Rotation Yaw&#xff1a;不要让人物和鼠标移动Character Movement 的 Rotation Setting 中 关闭 Use Controller Desired Rotation&#xff…...

SpringBoot如何实现简单的跨域配置

在SpringBoot中实现简单的跨域配置&#xff0c;主要通过全局CORS配置来完成。这通常涉及到实现WebMvcConfigurer接口并覆盖addCorsMappings方法。以下是一个简单的示例&#xff0c;展示了如何在SpringBoot应用中配置CORS策略以允许跨域请求。 首先&#xff0c;需要创建一个配置…...

vue列表进入详情页实现上一篇下一篇功能

概述&#xff1a;需求就是需要可以看列表&#xff0c;然后点击列表的右侧详情看详情&#xff0c;通过详情来实现新增上一份&#xff0c;下一份按钮来实现直接看之后的详情。 网上的解决方法有很多 1.后台获取将全量的id&#xff0c;前台再去直接取下一个id方式。&#xff08;…...

kalman的python实现

前面的kalman都是matlab的&#xff0c;这里在理解的基础上&#xff0c;尝试使用python实现&#xff0c;力求理解更多的内涵。 需要的包 import numpy as np import matplotlib.pyplot as plt 代码 KF algorith demo by Leo 2020.01.06 ZJG CAMPUS,ZJU import numpy as np…...

查找算法:线性查找,golang实现

目录 前言 线性查找 代码示例 1. 算法包 2. 线性查找代码 3. 模拟程序 4. 运行程序 循环次数 假如目标值正好在数组中的第一位 假如目标值正好在数组中的第五位 假如目标值正好在数组中的最后一位 假如目标值不在数组中 线性查找的思想 1. 顺序遍历 2. 比较 3.…...

【图像识别】十大数据集合集!

本文将为您介绍10个经典、热门的数据集&#xff0c;希望对您在选择适合的数据集时有所帮助。 1 DanishFungi2020 发布方&#xff1a; Google 发布时间&#xff1a; 2021 简介&#xff1a; 补充材料&#xff1a;丹麦真菌 2020 - 不仅仅是另一个图像识别数据集为了支持细粒度植…...

C++ | Leetcode C++题解之第312题戳气球

题目&#xff1a; 题解&#xff1a; class Solution { public:int maxCoins(vector<int>& nums) {int n nums.size();vector<vector<int>> rec(n 2, vector<int>(n 2));vector<int> val(n 2);val[0] val[n 1] 1;for (int i 1; i &l…...

SSM学习11:springboot基础

教学视频 黑马程序员SpringBoot3Vue3全套视频教程&#xff0c;springbootvue企业级全栈开发从基础、实战到面试一套通关 springboot基础 搭建项目 修改配置文件 修改application.yml&#xff08;后缀名不对&#xff0c;可以改成这个&#xff09;&#xff0c;配置数据库 spr…...

【前端 18】安装Node.js

Node.js 安装指南 在今天的博客中&#xff0c;我们将一起探讨如何在您的计算机上安装Node.js。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;它允许你在服务器端运行 JavaScript 代码。无论您是前端开发者希望探索全栈开发&#xff0c;还是后端开发者寻…...

C#/Winform入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专栏分享

场景 作为一名C#的Winform开发者&#xff0c;势必经历过从入门到自学、从基础到进阶、从学习到强化的过程。 当经历过几年企业级开发的磨炼&#xff0c;再回头看之前的开发过程、成长阶段发现确实是走了好多的弯路。 作为一名终身学习的信奉者&#xff0c;秉承Java体系需持续…...

springboot的表现层/控制层controller开发

第一步&#xff1a;新建文件和注入业务层对象 需要使用的注解&#xff1a; 第一个声明是restful风格开发 第二个是需要设置网页访问路径 RestController RequestMapping("/fuels")//http://localhost/fuels注入服务层对象&#xff1a; Autowiredprivate FuelServ…...

前端使用html2canvas在页面截图并导出,以及截图中含有图片时的跨域问题解决

1.引入html2canvas npm 安装或cdn引入 npm install html2canvas <script src"https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script> 2.使用 html2canvas // 假设你有一个 id 为 "capture" 的元素 h…...

道可云元宇宙每日资讯|第十二届互联网安全大会在北京开幕

道可云元宇宙每日简报&#xff08;2024年8月2日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 第十二届互联网安全大会在北京开幕 7月31日&#xff0c;第十二届互联网安全大会&#xff08;ISC.AI 2024&#xff09;在北京国家会议中心盛大开幕。 本届大会以“打造…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

微服务通信安全:深入解析mTLS的原理与实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言&#xff1a;微服务时代的通信安全挑战 随着云原生和微服务架构的普及&#xff0c;服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...

UE5 音效系统

一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类&#xff0c;将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix&#xff0c;将上述三个类翻入其中&#xff0c;通过它管理每个音乐…...

深入浅出JavaScript中的ArrayBuffer:二进制数据的“瑞士军刀”

深入浅出JavaScript中的ArrayBuffer&#xff1a;二进制数据的“瑞士军刀” 在JavaScript中&#xff0c;我们经常需要处理文本、数组、对象等数据类型。但当我们需要处理文件上传、图像处理、网络通信等场景时&#xff0c;单纯依赖字符串或数组就显得力不从心了。这时&#xff…...