Wireshark 用命令行分析数据包

1,那些情况需要使用命令行

  • Wireshark一次性提供了太多的信息。使用命令行工具可以限制打印出的信息,最后只显示相关数据,比如用单独一行来显示IP地址。
  • 命令行工具适用于过滤数据包捕获文件,并提供结果给另一个支持UNIX管道的工具。
  • 当处理大量的捕获文件时,Wireshark可能会挂掉,因为整个文件都要载入内存当中。先使用流来处理大型捕获文件,可以让你快速地过滤出相关数据包,给文件瘦身。
  • 在没有图形化界面的服务器上操作,则这个时候你可能不得不依靠命令行工具。

2,常用的命令行工具

  • TShark(主要学习)
  • Tcpdump(用于UNIX系统,知道就行)

3,安装TShark

  • TShark是基于终端的Wireshark,它是能够提供大量和Wireshark功能相同的数据包分析工具,但仅限于没有GUI的命令行界面。
  • TShark一般是随Wireshark附带安装的。可打开Wireshark安装目录,使用cmd打开控制台,使用tshark -v查看是否安装。

在这里插入图片描述

4,捕获和保存流量

  • 如何把当前流量捕获下来的并把它们打印到屏幕上。要在TShark里捕获,仅需要执行命令tshark。此命令会从网卡开始抓取当前流量。

    • 在这里插入图片描述
  • 根据你的系统配置,可有由于电脑安装有虚拟机等原因,TShark不会默认从你设想的网卡抓取流量。这种情况需要你手动选择网卡。可以使用TShark的**-D**参数来列出当前的可用网卡,系统会以数字的形式打印出网卡信息。

    • 在这里插入图片描述
  • 要选择其中一个网卡,可使用命令tshark -i +上网卡序号 。随后程序便开始捕获流量

    • 在这里插入图片描述
  • 要将抓到的包存为文件,可使用**-w参数加上要保存的文件名。抓包进程会持续进行,除非按下Ctrl+C**终止抓包。流量文件会直接保存在当前执行命令的目录下。

    • 在这里插入图片描述
  • 要想从保存的文件中回读数据包,可使用**-r**参数加上文件名。

    • 在这里插入图片描述
  • 如果要读取的文件包含了太多的数据包,那么一大堆的信息在屏幕上滚动导致什么都看不清。这时可使用参数**-c**来限制在屏幕上显示的数据包数量。

    • 在这里插入图片描述
  • 抓包的时候也可以使用**-c**参数,表示只获取抓包数据的前xx个包,获取到后程序会自动停止抓包。

    • 在这里插入图片描述

5,控制输出

  • 使用命令行工具的另一个优点是可以自定义输出。一般GUI应用会把所有的信息都告诉你,然后你可以自行寻找所需的内容。命令行工具通常只会显示最简输出,并强制你使用额外的命令参数来挖掘更高级的用法,TShark默认情况下只会为一个数据包显示一行输出。如果你想看到协议细节或者单独字节这些更深入的内容,就需要使用额外的命令参数。

  • TShark的输出中,每一行代表一个数据包,每一行输出的格式取决于数据包使用的协议类型。

  • TShark中,使用大写的V来增加冗余。

    • 在这里插入图片描述
  • TShark中,可以使用**-x参数来查看数据包的ASCII形式或十六进制字节形式,同时结合-r参数把捕获文件读取到TShark**里并显示出来。

    • 在这里插入图片描述

6,名称解析

  • 即把地址和端口号转换为名称。

  • 可以通过-n参数来禁用TShark的名称解析。如

    • tshark -ni 2              2本地网卡,即禁用本地网卡的名称解析
      
  • 可以通过-N参数来启用或禁用一些名称解析的特定功能。如果使用-N参数,则所有的名称解析功能将会被禁用,除非指定一些功能的启用。如启用传输层(端口服务名称)的解析。

    • tshark -i 2 -Nt
      
  • 你也可以结合多个值,下面命令会启用传输层和MAC层的解析。

    • tshark -i 2 -Ntm
      
  • 使用-N选项时的可参考值

    • m:MAC地址解析
      n:网络地址解析
      t:传输层(端口服务名称)解析
      N:使用外网解析服务
      C:使用当前DNS解析
      

7,应用过滤器

  • TShark可以使用Wireshark的显示过滤器表达式。

  • TShark的捕获过滤器可以边捕获边过滤,也可以在捕获完成后过滤显示结果。

  • 使用**-f参数来应用捕获过滤器,在双引号内填写表达式。如下面命令仅会**抓取和存储目的端口号是80的TCP流量

    • tshark -ni 2 -w test.pcap -f "tcp port 80"
      
  • 使用**-Y**来应用显示捕获器,在双引号内使用wireshark的过滤器语法。

    • tshark -ni 2 -w test.pcap -Y "tcp.dstport == 80"
      

8,TShark里的时间显示格式

  • TShark显示的是默认时间戳。它显示从数据包捕获开始的相对时间戳。

  • 使用**-t**参数可以更改这种格式。

  • 在这里插入图片描述

  • TShark中的可用时间显示格式

    时间戳示例
    a包被捕获的绝对时间(你所在的地区)17:40:50.003322
    ad包被捕获的带日期的绝对时间(你所在的地区)2023-05-03 15:20:29.044451
    d自之前捕获的数据包以来的增量(时差)0.000140
    dd之前显示的数据包0.000140
    e亿元时间(1970年1月1日以来的秒数)1444420078.004669
    r第一个数据包和当前数据包之间的运行时间0.000140
    u捕获数据包的绝对时间(UTC)21:40:50.003322
    ud带日期的捕获数据包的绝对时间(UTC)2023-05-03 21:20:29.044451

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/128597.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手动开发-简单的Spring基于注解配置的程序--源码解析

文章目录 设计注解$设计容器 $#完整代码# 在前文中 《手动开发-简单的Spring基于XML配置的程序–源码解析》,我们是从XML配置文件中去读取bean对象信息,再在自己设计的容器中进行初始化,属性注入,最后通过getBean()方法进行返回。…

Kafka/Spark-01消费topic到写出到topic

1 Kafka的工具类 1.1 从kafka消费数据的方法 消费者代码 def getKafkaDStream(ssc : StreamingContext , topic: String , groupId:String ) {consumerConfigs.put(ConsumerConfig.GROUP_ID_CONFIG , groupId)val kafkaDStream: InputDStream[ConsumerRecord[String, Strin…

WebRTC中 setup:actpass、active、passive

1、先看一下整个DTLS的流程 setup:actpass、active、passive就发生在Offer sdp和Anser SDP中 Offer的SDP是setup:actpass,这个是服务方: v0\r o- 1478416022679383738 2 IN IP4 127.0.0.1\r s-\r t0 0\r agroup:BUNDLE 0 1\r aextmap-allow-mixed\r amsid-semanti…

在MySQL客户端使用Tab健进行命令补全

在MySQL客户端中,你可以使用Tab键进行命令补全,这将提高我们的效率,这与Linux命令行中的行为类似。例如,如果你输入SEL然后按Tab键,MySQL客户端会自动补全为SELECT。 然而,需要注意的是,这个功能…

Unity Asset Bundle Browser 工具

Unity Asset Bundle Browser 工具 您可以在 Unity 项目中使用 Asset Bundle Browser 工具能够查看和编辑资源包的配置。 有关更多信息,请参阅 Unity Asset Bundle Browser 文档。 注意:此工具是不受支持的实用程序。查看极大的资源包可能会导致性能下…

谁在为网络安全制造标尺?

“我们想帮助企业往后退一步,去全局的看一下自己的安全能力建设水平如何,以及在当下的阶段最应该做的安全建设是什么? ” 度量,对应的是更清晰的认知。而对企业安全而言,这种认知,也更在成为一把新的标尺…

《AI辞职信一键生成》告别凡俗套路,展现独特个性!

在这个科技日新月异的时代,我们的生活被各种应用软件深深地渗透。其中,讯飞星火AI大模型的应用无疑是一种创新和突破。最近,我有幸体验了一款名为《AI辞职信一键生成》的web应用,它以其独特的功能和出色的用户体验,让我…

算法-88.合并两个有序数组-⭐

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组…

javaee springMVC 一个案例

项目结构 pom.xml <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

MongoDB简介以及安装

文章目录 1. MongoDB简介2. NoSQL简介3. MongoDB安装 1. MongoDB简介 MongoDB是一种NoSQL数据库&#xff0c;采用了文档数据库模型。它以BSON&#xff08;Binary JSON&#xff09;格式存储数据&#xff0c;支持动态模式和灵活的查询语言。MongoDB具有以下特点&#xff1a; 文…

学习机器学习需要哪些数学知识?

作为一门以数据及其模型为 研究对象的学科&#xff0c;优化模型、分析模型性能等都需要数学手段的帮助。和其他学科一样&#xff0c;数学 可以帮我们更清晰地描述和理解机器学习算法&#xff0c;也可以从理论上证明算法的有效性&#xff0c;是机器学习中必不可少的一环。 1 向…

Brief. Bioinformatics2021 | sAMP-PFPDeep+:利用三种不同的序列编码和深度神经网络预测短抗菌肽

文章标题&#xff1a;sAMP-PFPDeep: Improving accuracy of short antimicrobial peptides prediction using three different sequence encodings and deep neural networks 代码&#xff1a;https://github.com/WaqarHusain/sAMP-PFPDeep 一、问题 短抗菌肽(sAMPs)&#x…

图解 LeetCode 算法汇总——回溯

本文首发公众号&#xff1a;小码A梦 回溯算法是一种常见的算法&#xff0c;常见用于解决排列组合、排列问题、搜索问题等算法&#xff0c;在一个搜索空间中寻找所有的可能的解。通过向分支不断尝试获取所有的解&#xff0c;然后找到合适的解&#xff0c;找完一个分支后再往回搜…

NLP(4)--BERT

目录 一、自监督学习 二、BERT的两个问题 三、GLUE 四、BERT与Transformer的关系 五、BERT的训练方式 六、BERT的四个例子 1、语句分类&#xff08;情感分析&#xff09; 2、词性标注 3、立场分析 4、问答系统 七、BERT的后续 1、为什么预训练后的微调可以满足多…

北京互联网营销服务商浩希数字科技申请1350万美元纳斯达克IPO上市

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;总部位于北京的互联网营销服务商浩希数字科技&#xff08;Haoxi Health Technology Limited &#xff09;近期已向美国证券交易委员会&#xff08;SEC&#xff09;提交招股书&#xff0c;申请在纳斯…

08-JVM垃圾收集器详解

上一篇&#xff1a;07-垃圾收集算法详解 如果说收集算法是内存回收的方法论&#xff0c;那么垃圾收集器就是内存回收的具体实现。 虽然我们对各个收集器进行比较&#xff0c;但并非为了挑选出一个最好的收集器。因为直到现在为止还没有最好的垃圾收集器出现&#xff0c;更加没…

vue学习之条件渲染

条件渲染 用于控制组件显示创建 demo6.html,内容如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title&…

JavaScript-----jQuery

目录 前言&#xff1a; 1. jQuery介绍 2. 工厂函数 - $() jQuery通过选择器获取元素&#xff0c;$("选择器") 过滤选择器&#xff0c;需要结合其他选择器使用。 3.操作元素内容 4. 操作标签属性 5. 操作标签样式 6. 元素的创建,添加,删除 7.数据与对象遍历…

vue学习之事件绑定

事件绑定 创建 demo5.html,内容如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</…

jupyter 添加中文选项

文章目录 jupyter 添加中文选项1. 下载中文包2. 选择中文重新加载一下&#xff0c;页面就变成中文了 jupyter 添加中文选项 1. 下载中文包 pip install jupyterlab-language-pack-zh-CN2. 选择中文 重新加载一下&#xff0c;页面就变成中文了 这才是设置中文的正解&#xff…