【问题标题】:Extracting packet features using wireshark使用wireshark提取数据包特征
【发布时间】:2015-03-12 03:51:48
【问题描述】:

我正在尝试提取或确定有效负载、序列等特征 数量、跳数、跳地址、使用 Wireshark 在数据包中的生存时间。我得到了 ttl 值、源地址和目标地址,但我无法找到有效负载、跳数、跳地址等。

有什么方法可以使用 java 程序从 wireshark 文件中读取这些值,并将它们显示在 Java 框架中?

【问题讨论】:

  • 您需要什么样的帮助?目前这个范围非常广泛。展示您的代码并解释具体问题。
  • 其实我还没有开始写代码。我首先使用wireshark寻找功能,我有数据包IP功能,但没有像跳数和跳地址等功能。因此,如果您知道如何在 Wireshark 中获取这些值,这将非常有帮助。我只是问是否可以将wireshark与java接口连接起来。因为为每个数据包手动编写这些值既费时又让人头疼。 ://
  • 这是两个问题。 永远不要在一个问题中提出两个问题!

标签: java wireshark


【解决方案1】:

如果“跃点地址”是指您想要数据包从源到目的地时所经过的每个路由器的网络或 MAC 地址,那么 Wireshark 和地球上的任何其他数据包分析器都不能,在一般情况下,确定,因为该信息没有记录在数据包中!

有一个 IPv4 的“记录路由”选项,如果在发送数据包时将其添加到数据包中,则会导致路由器在发送数据包时将其地址添加到路由中;但是,没有简单的开关来打开它 - 如果运行它的操作系统支持这样做,则必须修改发送数据包的程序以请求它。

【讨论】:

  • ohkay.. 这意味着无法获得跃点地址。跳数呢?我在wireshark和payload中也看不到它。
  • IP 中与跳数最接近的是生存时间字段;但是,当它从原始主机发送时,这是一个给定一个 任意 值的字段,并且对于每个跃点 递减,如果时间到,数据包将被丢弃而不是转发-live 值在收到数据包时为零(并且它可能会减少超过 1,因为根据RFC 791,它以秒为单位)。因此,也无法获得跳数(除非通过在“记录路由”选项中计算跳数 IF 它存在)。
  • 好的.. 感谢您的帮助。但这意味着我无法实现需要这些值的方法。
  • 正确。如果您想确定一个数据包经过了哪些跃点到达您身边,您只能在数据包是一个 IPv4 数据包且在最初发送时添加了“记录路由”选项时才可以这样做;据我所知,IPv6 没有这样的选择(one was proposed in 2000,但它从未离开 Internet 草案阶段)。您可能正在尝试解决一些更广泛的问题;就该问题提出一个尽可能广泛的问题,而不是询问如何实施特定的解决方案。
猜你喜欢
  • 2021-06-01
  • 2014-03-22
  • 2017-04-06
  • 2022-08-06
  • 1970-01-01
  • 2020-09-16
  • 2012-07-22
  • 2014-03-16
  • 1970-01-01
相关资源
最近更新 更多