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

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.lryc.cn/news/162565.html

相关文章:

  • LVS DR模式负载均衡群集部署
  • 探讨前后端分离开发的优势、实践以及如何实现更好的用户体验?
  • 微博一面:JVM预热,你的方案是啥?
  • open与fopen的区别
  • Unity记录一些glsl和hlsl的着色器Shader逆向代码
  • 基于Sentinel的微服务保护
  • Collectors类作用:
  • LASSO回归
  • 机器学习中的 K-均值聚类算法及其优缺点。
  • 云计算与虚拟化
  • Linux常见进程类别
  • 智能小车之蓝牙控制并测速小车、wife控制小车、4g控制小车、语音控制小车
  • 指针进阶(一)
  • c# sql 判断表中是否包含指定字段
  • 08-JVM垃圾收集器详解
  • sql_mode详解
  • Vue3的新特性总结
  • 【Node】Mac多版本Node切换
  • Apache POI
  • 个人能做股票期权吗?个人期权交易开户条件新规
  • Java面试整理(一)
  • 国家信息中心举办“数字政府建设暨数字安全技术”研讨会:海云安提出数字政府软件供应链安全解决方案
  • uniapp 处理 分页请求
  • 最新2米分辨率北极开源DEM数据集(矢量文件)
  • 【计算机网络】HTTP(下)
  • 自学Python03-学会Python中的while循环语句
  • PatchMatchNet 学习笔记 译文 深度学习三维重建
  • 为什么要使用设计模式,以及使用设计模式的好处
  • 【Springcloud】Sentinel熔断和降级
  • javascript实战开发:json数据求指定元素的和算法