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
相关文章:
Wireshark 用命令行分析数据包
1,那些情况需要使用命令行 Wireshark一次性提供了太多的信息。使用命令行工具可以限制打印出的信息,最后只显示相关数据,比如用单独一行来显示IP地址。命令行工具适用于过滤数据包捕获文件,并提供结果给另一个支持UNIX管道的工具…...
LVS DR模式负载均衡群集部署
目录 1 LVS-DR 模式的特点 1.1 数据包流向分析 1.2 DR 模式的特点 2 DR模式 LVS负载均衡群集部署 2.1 配置负载调度器 2.1.1 配置虚拟 IP 地址 2.1.2 调整 proc 响应参数 2.1.3 配置负载分配策略 2.2 部署共享存储 2.3 配置节点服务器 2.3.1 配置虚拟 IP 地址 2.3.2…...
探讨前后端分离开发的优势、实践以及如何实现更好的用户体验?
随着互联网技术的迅猛发展,前后端分离开发已经成为现代软件开发的一种重要趋势。这种开发模式将前端和后端的开发工作分开,通过清晰的接口协议进行通信,旨在优化开发流程、提升团队协作效率,并最终改善用户体验。本文将深入探讨前…...
微博一面:JVM预热,你的方案是啥?
说在前面 在40岁老架构师 尼恩的读者社区(50)中,最近有小伙伴拿到了一线互联网企业如微博、阿里、汽车之家、极兔、有赞、希音、百度、网易、滴滴的面试资格,遇到一几个很重要的面试题: JVM预热,你的方案是啥?Springb…...
open与fopen的区别
1. 来源 从来源的角度看,两者能很好的区分开,这也是两者最显而易见的区别: open是UNIX系统调用函数(包括LINUX等),返回的是文件描述符(File Descriptor),它是文件在文件…...
Unity记录一些glsl和hlsl的着色器Shader逆向代码
以下内容一般基于 GLSL 300 之后 以下某些代码行,是“伪代码“,绝大部分是renderDoc 逆向产生标准代码 本人OpenlGL零基础,也不打算重头学 目录 Clip() 剔除函数 discard; FS最终颜色输出 out 和最终颜色相加方程…...
基于Sentinel的微服务保护
前言 Sentinel是Alibaba开源的一款微服务流控组件,用于解决分布式应用场景下服务的稳定性问题。Sentinel具有丰富的应用场景,它基于流量提供一系列的服务保护措施,例如多线程秒杀情况下的系统承载,并发访问下的流量控制ÿ…...
Collectors类作用:
一、Collectors类: 1.1、Collectors介绍 Collectors类,是JDK1.8开始提供的一个的工具类,它专门用于对Stream操作流中的元素各种处理操作,Collectors类中提供了一些常用的方法,例如:toList()、toSet()、to…...
LASSO回归
LASSO回归 LASSO(Least Absolute Shrinkage and Selection Operator,最小绝对值收敛和选择算子算法)是一种回归分析技术,用于变量选择和正则化。它由Robert Tibshirani于1996年提出,作为传统最小二乘回归方法的替代品。 损失函数 1.线性回…...
机器学习中的 K-均值聚类算法及其优缺点。
K-均值聚类算法是一种常见的无监督学习算法,它可以将数据集分成 K 个簇,每个簇内部的数据点尽可能相似,而不同簇之间的数据点应尽可能不同。下面详细讲解 K-均值聚类算法的优缺点: 优点: 简单易用:K-均值…...
云计算与虚拟化
一、概念 什么是云计算? 云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果…...
Linux常见进程类别
目录 常见进程类别 守护进程&精灵进程 任务管理 进程组 作业 作业 | 进程组 会话 w命令 守护进程 守护进程的创建 setsid()函数 daemon()函数 模拟实现daemon函数 前台进程 | 后台进程 僵尸进程 | 孤儿进程 僵尸进程的一些细节 守护进程 | 后台进程 守护…...
智能小车之蓝牙控制并测速小车、wife控制小车、4g控制小车、语音控制小车
目录 1. 蓝牙控制小车 2. 蓝牙控制并测速小车 3. wifi控制测速小车 4. 4g控制小车 5. 语音控制小车 1. 蓝牙控制小车 使用蓝牙模块,串口透传蓝牙模块,又叫做蓝牙串口模块 串口透传技术: 透传即透明传送,是指在数据的传输过…...
指针进阶(一)
指针进阶 1. 字符指针面试题 2. 指针数组3. 数组指针3.1 数组指针的定义3.2 &数组名VS数组名 3.3 数组指针的使用4. 数组传参和指针传参4.1 一维数组传参4.2 二维数组传参4.3 一级指针传参4.4 二级指针传参 前言 指针的主题,我们在初级阶段的《指针》章节已经接…...
c# sql 判断表中是否包含指定字段
你可以使用以下方法来判断一个 SQL 数据库中的表是否包含指定的字段。 首先,你需要连接到数据库,然后执行一条 SQL 查询语句来检查表结构。你可以使用 SELECT 语句和 INFORMATION_SCHEMA.COLUMNS 系统视图来获取表中的所有列信息。 下面是一个示例代码…...
08-JVM垃圾收集器详解
上一篇:07-垃圾收集算法详解 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 虽然我们对各个收集器进行比较,但并非为了挑选出一个最好的收集器。因为直到现在为止还没有最好的垃圾收集器出现,更加没…...
sql_mode详解
文章目录 一、sql_mode作用二、查询sql_mode三、mysql8默认的mode配置(6个默认配置)四、常见mode详细解释mysql8默认配置了的mode(6个)需要自己配置的mode(4个) 五、设置sql_mode(一旦设置了&am…...
Vue3的新特性总结
一、Vue3 里 script 的三种写法 首先,Vue3 新增了一个叫做组合式 api 的东西,英文名叫 Composition API。因此 Vue3 的 script 现在支持三种写法。 1、最基本的 Vue2 写法 <template><div>{{ count }}</div><button click"…...
【Node】Mac多版本Node切换
1、查看当前电脑是否安装node node -v或者查看当前电脑通过brew安装的node路径 ls /usr/local/Cellar/node*2、查看可安装的node brew search node3、安装其他版本node 下载需要安装的node版本 brew install node144、brew切换node版本 假设之前的版本是18,需…...
Apache POI
POI介绍 Apache POI是用Java编写的免费开源的跨平台的Java API, Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能, 其中使用最多的就是使用POI操作Excel文件。 maven坐标: <dependency><groupId>org.apa…...
从零构建开源语音AI交互中枢:EchoKit Server部署与调优指南
1. 项目概述:构建你自己的语音AI交互中枢 如果你对智能音箱、语音助手这类设备感兴趣,但又觉得市面上的产品要么功能封闭,要么隐私堪忧,那么今天聊的这个项目——EchoKit Server,可能会让你眼前一亮。简单来说&#x…...
搜极星破局:拆解企业 “看不见、控不住、比不过” 困局
引言:AI 时代,企业陷入三重信息绝境2026 年,生成式 AI 全面主导用户决策链路,品牌竞争从搜索排名转向 AI 认知权重。但多数企业正深陷看不见、控不住、比不过的三重困局:看不见自身在 AI 平台的真实曝光状态࿰…...
Substance Painter入门:从模型到贴图的核心工作流解析
1. Substance Painter入门指南:从零开始掌握PBR材质创作 第一次打开Substance Painter时,很多人都会被它复杂的界面吓到。作为一个从Maya转战材质制作的老鸟,我完全理解这种感受。但别担心,只要掌握几个核心概念,你就…...
3分钟搞定TrollStore:iOS 14-16.6.1一键安装终极指南
3分钟搞定TrollStore:iOS 14-16.6.1一键安装终极指南 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否曾为在iOS设备上安装TrollStore而烦恼࿱…...
保姆级教程:用PyTorch复现STANet遥感变化检测模型(附LEVIR-CD数据集下载与配置)
从零实现STANet:基于PyTorch的遥感变化检测实战指南 开篇:为什么选择STANet进行遥感变化检测? 当我们需要监测城市扩张、灾害评估或基础设施变化时,遥感变化检测技术显得尤为重要。传统方法往往受限于光照变化和配准误差ÿ…...
从HEX到芯片:使用J-Flash实现高效固件烧录与生产级加密
1. 认识J-Flash:你的芯片烧录好帮手 第一次接触J-Flash时,我正为一个量产项目发愁——需要给500片GD32F103烧录固件。手动用IDE一个个烧?效率太低;找代工厂?成本太高。直到同事推荐了J-Flash,我才发现原来烧…...
MarkFlowy:基于智能感知的Markdown写作流工具设计与实现
1. 项目概述:一个为Markdown而生的高效写作流工具 如果你和我一样,每天的工作都离不开Markdown——写技术文档、整理项目笔记、构思博客文章,那你一定体会过那种在“专注写作”和“格式调整”之间反复横跳的痛苦。刚进入心流状态,…...
3PEAK思瑞浦 TPA1882Q-SO1R-S SOP8 运算放大器
特性 供电电压:4.5伏至36伏或2.25伏至18伏 偏移电压:最大50V 差分输入电压范围至电源轨,可作为比较器工作 输入轨至-Vs,轨到轨输出 带宽:12MHz,斜率:10V/us 优异的EMI抑制性能:1GHz时85dB 过温保护 低噪声:1kHz时为10nV/vHz 符合AEC-Q100认证…...
避坑指南:在CentOS 7.5上成功安装Ansys 19.2的完整流程(附字体问题终极解决方案)
CentOS 7.5与Ansys 19.2黄金组合:工业仿真环境搭建实战手册 在工程仿真领域,Ansys作为行业标准工具链的核心组件,其Linux环境部署一直是技术人员的痛点。经过长达三个月的多版本交叉测试,我们意外发现CentOS 7.5与Ansys 19.2的组合…...
Burp插件进阶:Logger++日志管理与CSRF Token Tracker自动化测试实战
1. Burp插件环境配置与基础准备 在开始使用Logger和CSRF Token Tracker之前,我们需要先搭建好Burp Suite的插件运行环境。Burp支持Java、Python和Ruby三种语言编写的插件,但后两者需要额外配置。 对于Python插件,建议下载Standalone Jar版本。…...









