如何在wireshark中仅导出可打印文本(或任何其他数据包属性)

2023-12-06

长话短说 - 我正在使用 Wireshark 将 SQL 从供应商工具捕获到 Oracle 数据库。它已经有 TNS 协议的解码器(这很棒),我可以通过以下方式访问 SQL 文本

Right Click->Copy->Bytes(Printable Text Only). 

问题是有大量的数据包,右键单击每个数据包可能需要很长时间。我想知道是否有任何方法可以直接从 Wireshark 导出“仅可打印文本”。理想情况下,我想要一个包含语句的文本文件。

任何帮助将不胜感激。


终于找到办法做到这一点。首先,使用tshark捕获tns数据包:

tshark -R tcp.port==1521 -T fields -e data.data -d tcp.port==1521,tns > input.txt

然后你可以使用下面的 homebrew Ruby 脚本将字节转换为文本:

file = ARGV[0]
print_all = ARGV[1]

File.open(file, "r").each {|line|
  line.gsub(",", ":").split(':').each {|byte|
    chr = Integer('0x' + byte).chr
    print chr if ((' '..'~').include?(chr) or chr == "\n") or (print_all.downcase == 'all' if print_all)
  } if !line.chomp.empty?
}

例子有:

encode.rb input.txt > output.txt

仅将可打印文本从输入导出到输出

encode.rb input.txt  all > output.txt

将导出从输入到输出的所有文本

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在wireshark中仅导出可打印文本(或任何其他数据包属性) 的相关文章

  • 在同一个表上组合两个 SQL SELECT 语句

    我想结合这两个 SQL 查询 SELECT FROM Contracts WHERE productType RINsell AND clearTime IS NULL AND holdTime IS NOT NULL ORDER BY g
  • 具有 LINQ 支持的最完整的 ORM?

    我正在寻找一个提供完整或接近完整的 LINQ 支持的 ORM LINQ 到 SQL 支持 LINQ 内部的所有内容 Contains Math Log 等 在不创建新数据上下文的情况下无法预先加载关系属性 ADO NET 实体框架 糟糕的
  • 如何检测 Postgres 中持有锁的查询?

    我想不断跟踪 postgres 中的互锁 我碰到锁具监控 https wiki postgresql org wiki Lock Monitoring文章并尝试运行以下查询 SELECT bl pid AS blocked pid a us
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 创建 SYS_REFCURSOR 并将其作为输入参数从 Java 传递给 Oracle 过程

    我必须与具有 SYS REFCURSOR 作为输入参数的外部 Oracle 过程进行通信 过程 merge objects varchar2 中的 p table name p id array 中 varchar2 SYS REFCURS
  • 如何将自定义类型数组传递给 Postgres 函数

    我有一个自定义类型 CREATE TYPE mytype as id uuid amount numeric 13 4 我想将它传递给具有以下签名的函数 CREATE FUNCTION myschema myfunction id uuid
  • 使用 JPA 时如何在部署时设置序列的架构名称?

    出于安全原因 我们的 Oracle 数据库对象通常属于与登录用户不同的架构 例如 表位于 xx core 中 我们登录的用户是 xx app yy 在我的 persistence xml 中 我定义了一个 orm 文件 以便我可以在部署时指
  • SQL Server 使用通配符加入并在第一个匹配处停止

    IF OBJECT ID tempdb TABLE1 IS NOT NULL DROP TABLE TABLE1 IF OBJECT ID tempdb TABLE2 IS NOT NULL DROP TABLE TABLE2 CREATE
  • 在 Postgres 中的数组字段上应用聚合函数?

    是否可以对整数 字段 或其他数字数组 中的所有值应用聚合 如 avg stddev CREATE TABLE widget measurement integer insert into widget measurement values
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 如何通过循环变量在 dbt 中多次运行 SQL 模型?

    我有一个 dbt 模型 测试模型 接受地理变量 zip state region 在配置中 我想通过循环变量来运行模型三次 每次使用不同的变量运行它 问题是 我有一个如下所示的宏 它将变量附加到输出表名称的末尾 即运行测试模型 with z
  • APEX:从临时表下载 BLOB

    我正在尝试使用 Oracle APEX 4 1 1 构建一个简单的查看应用程序 要显示的信息位于与包含 APEX 应用程序访问的架构的数据库不同的数据库上的表中 使用视图 View 访问此远程表 远程表视图 和数据库链接 视图按预期工作 包
  • 在存储过程结束时显式删除本地临时表有什么好处?

    考虑以下伪 T SQL 代码 由存储过程执行 CREATE TABLE localTable
  • 如何在动态查询中将行值连接到列名

    我正在开发一个允许配置问题和答案的应用程序 目前最多可以有 20 个答案 但也可能更少 我的结构如下 问题 ID FormId QuestionText AnswerField 1 1 Name Answer01 2 1 Address A
  • SQLSTATE[HY000] [2002] 资源暂时不可用 - mysql - innodb 和 pdo

    在我的错误日志中得到大量结果 如下所列 数据库中的所有表都是 innodb 并且就与这些表的任何交互而言 一切都是带有准备好的语句的 pdo 正如我所说 所有错误几乎与下面列出的错误相同 但发生在几个不同的页面上 无论页面如何 错误行始终指
  • T-sql、刻度、时间戳

    是否有可能在 t sql 中获得像 DateTime Ticks 这样的 C 内容 感谢帮助 您不太可能从 SQL 中获得与 DateTime Ticks 相同的精度 因为 SQL 不能以那么高的精度表达时间 SQL Server 只存储大
  • 对具有许多索引的表进行缓慢的批量插入

    我尝试将数百万条记录插入到具有 20 多个索引的表中 在上次运行中 每 100 000 行花费了 4 个多小时 并且查询在 3 5 天后被取消 您对如何加快速度有什么建议吗 我怀疑是索引太多的原因 如果你也这么认为 如何在操作前自动删除索引
  • INNER JOIN 可用作 SELECT,但不能用作 DELETE [重复]

    这个问题在这里已经有答案了 为什么这个有语法错误 DELETE FROM print mailing request pmr INNER JOIN person p ON p id pmr person AND p email LIKE T
  • 使用 gv$session 判断查询是否挂起

    我有一个在 Oracle 中运行的查询 该查询可能会挂起 也可能不会挂起 它现在已经运行了大约 10 个小时 但根据我正在加载的数据量 这可能并非不合理 我正在查看 gv session 中的会话 想知道是否有一种方法可以转换该信息以查看是
  • 多级排序

    我有一个表 其中包含一些记录 其中包含名称 评级等字段 我首先想要根据评级将结果限制为 20 进行排序 然后在此结果集上想要进一步应用基于名称的排序 我知道要排序我们需要使用像这样的查询 Select from table order by

随机推荐

  • 从对象(日期对象)解构函数

    如果我想破坏一个对象我会这样做 const obj a a fn gt some function const fn obj fn OR const a fn obj console log fn 这不适用于Date目的 未捕获的类型错误
  • Python 中的字典有单一的 repr 值吗?

    In this question 有人建议在字典上调用 repr 是将其存储在另一个字典中的好方法 这取决于 repr 是否相同 无论键如何排序 是这样吗 附言 最初问题的最优雅的解决方案实际上是使用 freezeset 不 键添加到字典的
  • ipython笔记本工具栏自定义

    我想在 ipython 笔记本上添加一个新的工具栏按钮 我得到了一个好的link提到了这一点 所以我创建一个新文件 ipython profile default static custom custom js 包含以下内容 IPython
  • PdfBox 编码符号货币欧元

    我使用 Apache PDFBox 库创建了一个 PDF 文档 我的问题是在页面上绘制字符串时对欧元货币符号进行编码 因为基本字体 Helvetica 不提供此字符 如何将输出 转换为符号 不幸的是 PDFBox 的字符串编码还远非完美 版
  • 用于 glmer 的用户定义链接函数,用于已知命运生存建模

    生态学中的常见情况是具有二元结果 0 死亡 1 生存 的生存模型 其中个体 在本例中考虑鸟类的个体筑巢尝试 在暴露于死亡风险的天数方面存在差异 为了解决这个问题 我们使用了修改后的逻辑回归 它将暴露天数合并到链接函数中 正如 Shaffer
  • SwiftUI:设置选择器行高

    对于大字体 a 中的线条Picker是重叠的 我该如何更改Picker s行高 提示 lineSpacing修饰符不会这样做 See Also 这个问题类似于Ejaaz 但他的问题至今尚未得到答复 问题 The Code 以下可运行代码产生
  • 自定义 WPF 绑定

    我有一个模拟绑定的自定义 MarkupExtension 它在正常分配中效果很好 但在样式设置器中使用时效果不佳 例如
  • FileUpload1.HasFile 始终返回 false

    我正在使用 ASP net 文件上传控件上传文件 我的 FileUpload1 HasFile 总是返回 false if FileUpload1 HasFile DBOperations db new DBOperations try F
  • 汇编中的伪指令和软件抽象

    这更多的是一个一般性的理论问题 我正在学习一些汇编语言 并注意到一些软件 例如 MARS for MIPS 实现架构的真实指令集中不存在的抽象 这似乎被称为伪指令 其示例是li 以及其他舒适的抽象 例如整齐的数组创建等 我的问题是 如果我想
  • Android Studio 正在为 React-Native 项目生成非常旧的 apk,比如 3 个月前的版本

    Android Studio 正在为 React Native 项目生成非常旧的 apk 比如 3 个月前的版本 但是在运行此命令 react native run android 时在模拟器中完美运行 过程 打开文件所在位置 构建 gt
  • 用虚函数大括号初始化结构

    大括号初始化 struct A int a int b void foo A a 1 2 效果很好 但如果将 foo 改为虚函数 则编译不会出错 错误 C2440 初始化 无法从 初始化列表 转换为 I find this 聚合是一个数组或
  • 如何使用正则表达式在 C# 中从 MongoDB 集合中获取数据?

    我在用MongoDB Drivers我的 nuget 包MVC C Web 应用程序与 MongoDB 数据库通信 现在 我想根据特定列及其值获取数据 我使用下面的代码来获取数据 var findValue John var clientT
  • 文本输入中字符串部分的不同文本颜色

    当文本输入的值仍在输入字段中时 如何对字符串的一部分进行样式设置 我知道可以使用元素中具有 contentedible 属性的元素来做到这一点 但 Google 在文本类型的输入中使用其即时建议来做到这一点 输入中出现的第一个完成 建议 虽
  • 检查用户是否安装了Chrome扩展程序

    我正在构建一个 Chrome 扩展程序 为了让整个事情按照我希望的方式工作 我需要一个外部 JavaScript 脚本来检测用户是否安装了我的扩展程序 例如 用户安装我的插件 然后访问带有我的脚本的网站 该网站检测到我的扩展已安装并相应地更
  • 用户输入的数字未相加

    我正在尝试编写一个程序 从用户那里读取一个整数 通过键盘 将其加 100 并显示结果 我所能做的就是让它们像 2 个字符串一样连接起来 而不是将数字加在一起 我不明白为什么它不会添加它们 import java io public clas
  • 如何使用QWebEngineUrlRequestInterceptor

    我需要拦截 Qt 应用程序中的 WebEngine qml 组件中发出的请求 我找到了有关 QWebEngineUrlRequestInterceptor 的文档 它似乎就是这样做的http doc qt io qt 5 qwebengin
  • 查找除已使用的锚点之外的另一个锚点的位置

    我创建了一个代码来显示我的问题 它看起来像这样 userNameID tkinter Label root text Name ID userNameID place x 640 y 320 anchor e userNameID tkin
  • 变更日志/重新分区主题的复制因子应该是多少

    我知道可以为 kafka 流配置复制因子这些内部主题 我们的应用程序用于复制因子为 3 的普通应用程序主题 但到目前为止我还没有为变更日志 重新分区主题配置复制因子 而我的假设是如果一个经纪人死亡 或由于某种原因领导者发生变化 kafka
  • 用于在 overpass-API 端点上运行请求的 Python 包装器

    Overpass API python 包装器是一个围绕 OpenStreetMap Overpass API 的瘦 Python 包装器https github com mvexel overpass api python wrapper
  • 如何在wireshark中仅导出可打印文本(或任何其他数据包属性)

    长话短说 我正在使用 Wireshark 将 SQL 从供应商工具捕获到 Oracle 数据库 它已经有 TNS 协议的解码器 这很棒 我可以通过以下方式访问 SQL 文本 Right Click gt Copy gt Bytes Prin