Tshark: 快速而强大的网络数据包分析工具

一、Tshark 中文

Tshark是Wireshark网络协议分析器的命令行版本,它为您提供了用于网络故障排除、网络测试和协议教育的快速而强大的工具。

Tshark支持多种包的捕捉格式,包括tcpdump捕捉文件(以pcap格式保存),网络接口和Wireshark捕捉文件。它可以用于实时捕获和离线阅读 pcap /f pcap-ng文件,并将捕获结果解析出各个网络协议的详细信息。

# 安装tshark命令:
sudo apt-get install tshark
# 查看tshark命令行界面的中文帮助:
tshark -h | grep -P "\-\|.+?\|"

二、tshark抓包过滤

tshark支持多种过滤条件,以便您可以轻松地从大量的网络数据包中过滤出所需的数据包,提高故障诊断的效率。

tshark操作的过滤条件格式相对灵活,可以通过协议类型、源地址、目的地址、端口号等多种维度进行过滤。

# 查看所有HTTP请求包:
tshark -r sample.pcap -Y "http.request"
# 查看某个IP地址的所有数据包:
tshark -r sample.pcap -Y "ip.addr == 192.168.1.2"
# 查看某个端口号的所有数据包:
tshark -r sample.pcap -Y "tcp.port == 80"
# 过滤出SSL连接数据包:
tshark -r sample.pcap -Y "ssl.handshake"

三、Tshark utf8

默认情况下,tshark输出的协议分析信息都是以ASCII编码形式呈现出来的。如果需要输出utf8编码的内容,可以通过设置环境变量实现。

# UNIX/Linux系统下设置utf8环境变量:
export LC_ALL=C.UTF-8
# Windows系统下设置utf8环境变量:
set LC_ALL=C.UTF-8

四、tshark和wireshark关系

tshark是wireshark的一个命令行版本,两者都是基于libpcap库的。

wireshark提供了强大的图形用户界面,可以通过图形操作实现数据包捕获、分析、过滤等功能;而tshark则是在命令行下提供了同样的功能,适合在服务器端、远程终端等场景下使用。

五、tshark不能读取tls

tshark不能直接读取加密协议TLS的数据包,它只能读取加密前和加密后的数据包。如果需要读取TLS中的数据包,可以通过在wireshark中对数据包进行解密后再导出到pcap文件,再使用tshark对解密后的pcap文件进行分析。

六、shark

tshark本质上是一款命令行版本的抓包和分析工具,它可以与其他工具结合使用,帮助网络管理员和开发人员更好地进行网络数据包分析和管理。

在使用tshark的时候,可以通过-t选项指定输出格式,将结果输出为XML、JSON等多种格式,并将结果通过pipe传输到其他工具进行进一步的分析处理。

# 输出结果为json格式:
tshark -r sample.pcap -T json | jq .
# 输出层级结构嵌套的XML格式:
tshark -r sample.pcap -T pdml | xmllint --format -

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/306190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-02 12:00
下一篇 2025-01-02 12:00

相关推荐

  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Ojlat:一款快速开发Web应用程序的框架

    Ojlat是一款用于快速开发Web应用程序的框架。它的主要特点是高效、易用、可扩展且功能齐全。通过Ojlat,开发人员可以轻松地构建出高质量的Web应用程序。本文将从多个方面对Oj…

    编程 2025-04-29
  • 如何通过jstack工具列出假死的java进程

    假死的java进程是指在运行过程中出现了某些问题导致进程停止响应,此时无法通过正常的方式关闭或者重启该进程。在这种情况下,我们可以借助jstack工具来获取该进程的进程号和线程号,…

    编程 2025-04-29
  • Python最强大的制图库——Matplotlib

    Matplotlib是Python中最强大的数据可视化工具之一,它提供了海量的制图、绘图、绘制动画的功能,通过它可以轻松地展示数据的分布、比较和趋势。下面将从多个方面对Matplo…

    编程 2025-04-29
  • 注册表取证工具有哪些

    注册表取证是数字取证的重要分支,主要是获取计算机系统中的注册表信息,进而分析痕迹,获取重要证据。本文将以注册表取证工具为中心,从多个方面进行详细阐述。 一、注册表取证工具概述 注册…

    编程 2025-04-29
  • Python range: 强大的迭代器函数

    Python range函数是Python中最常用的内置函数之一。它被广泛用于for循环的迭代,列表推导式,和其他需要生成一系列数字的应用程序中。在本文中,我们将会详细介绍Pyth…

    编程 2025-04-29
  • 二阶快速求逆矩阵

    快速求逆矩阵是数学中的一个重要问题,特别是对于线性代数中的矩阵求逆运算,如果使用普通的求逆矩阵方法,时间复杂度为O(n^3),计算量非常大。因此,在实际应用中需要使用更高效的算法。…

    编程 2025-04-28
  • Python运维工具用法介绍

    本文将从多个方面介绍Python在运维工具中的应用,包括但不限于日志分析、自动化测试、批量处理、监控等方面的内容,希望能对Python运维工具的使用有所帮助。 一、日志分析 在运维…

    编程 2025-04-28
  • t3.js:一个全能的JavaScript动态文本替换工具

    t3.js是一个非常流行的JavaScript动态文本替换工具,它是一个轻量级库,能够很容易地实现文本内容的递增、递减、替换、切换以及其他各种操作。在本文中,我们将从多个方面探讨t…

    编程 2025-04-28
  • Trocket:打造高效可靠的远程控制工具

    如何使用trocket打造高效可靠的远程控制工具?本文将从以下几个方面进行详细的阐述。 一、安装和使用trocket trocket是一个基于Python实现的远程控制工具,使用时…

    编程 2025-04-28

发表回复

登录后才能评论