【问题标题】:SNMP packet capture missing in wiresharkWireshark 中缺少 SNMP 数据包捕获
【发布时间】:2015-09-18 13:48:01
【问题描述】:

我使用一个用 SNMP API 编写的 java 文件异步轮询了模拟网络中的 SNMP 设备。在 30 秒的轮询时间内,我发送了大约 350000 个 V1 Get 请求。

我的 SNMP API 侦听器显示所有请求都已发送并获得每个请求的成功响应。但是当我使用wireshark捕获数据包时,并没有显示所有数据包都已发送。当我在wireshark中检查snmp数据包的请求id时,我可以发现最后一个请求的requst id与SNMP API发送的数据包总数相同。但是wireshark中缺少一些其他SNMP数据包的请求ID。

wireshark 是否有任何限制,比如它每秒只能捕获特定数量的数据包?

为什么会出现这种情况?请帮我解决这个问题。

提前致谢。

【问题讨论】:

  • 您是否看到任何 SNMP 帧?
  • 捕获中丢失了多少数据包? 35k 是相当少的几个包,只能在 30 秒内发送,所以也许 Wireshark 无法处理负载?
  • 1秒轮询,wireshark成功抓包。但是当轮询时间增加时,就会发生丢包。对于 30 秒的轮询,35k 个请求,wireshark 错过了大约 3k 个请求。如果我的 API 显示发送了 35k 个请求,wireshark 中的第一个请求 id 是 1,最后一个请求 id 是 35k。但是在 1 到 35k 之间,wireshark 中缺少一些请求。 Wireshark 有最大负载限制吗?

标签: wireshark snmp


【解决方案1】:

“模拟网络”是什么意思?如果您在自己的 PC 上运行虚拟网络,那么数据包将不会通过您的网络,Wireshark 也不会接收到它们。您可以在Wireshark wiki 中找到更多信息和可能的修复。

还有一些需要注意的地方:

  • 确保 Wireshark 从正确的界面进行捕获。
  • 检查数据包是否没有被过滤掉。

【讨论】:

  • 我在本地和任何接口上捕获了数据包。只有大约 3k 个请求丢失,其他数据包被捕获
  • 我使用的是 Ubuntu 12.04.5 LTS 机器。 Wireshark 版本是 1.6.7,libcap 版本是 1.1.1
  • 我已经使用以下命令将wireshark从1.6.7更新到1.8.2:“sudo add-apt-repository ppa:eugenesan/ppa sudo apt-get update sudo apt-get install wireshark”。在这个版本中,libcap 版本也是 1.1.1。当我使用 SNMP API 轮询 java 文件时,在这个 1.8.2 版本中也发生数据包丢失。
  • 当我使用脚本文件使用 netsnmp 命令进行轮询时,在 300000 个请求中,缺少 287 个。脚本文件内容如下。 "for (( i=1; i
  • 我尝试在我的 Ubuntu 12.04 中安装来自 www.wireshark.org 的 wireshark 1.12.7。我下载了安装源代码。但是该 tar 文件中没有 make 文件,如“wireshark.org/docs/wsug_html_chunked/…”中所述,您能帮我如何在我的机器上安装wireshark 1.12.7 吗?该版本是否包含最新的 libcap 版本,因此不应该有任何丢失的数据包?
猜你喜欢
  • 2012-08-04
  • 1970-01-01
  • 2015-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-12
相关资源
最近更新 更多