You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在OMNeT++中保存已发送的ping数据包并解决pcap文件为空问题

问题核心原因及修复方案

你配置中的核心错误为数组索引使用错误,同时可优化过滤规则和链路类型配置,具体修改点如下:

  • 索引越界错误:INET框架中pcapRecorder数组从0开始编号,你设置了numPcapRecorders = 1,仅存在pcapRecorder[0]这一个有效实例,所有针对pcapRecorder[1]的配置都没有对应生效对象,因此不会捕获任何数据包。
  • 过滤规则优化:部分版本的INET中ping包的匹配规则可以直接用*icmp*覆盖IPv4/IPv6的ICMP请求、响应包,比大小写分开匹配的兼容性更好。
  • 链路类型适配:你当前设置的pcapLinkType = 105对应IEEE 802.11无线链路类型,如果你是在以太网场景下测试,建议改为1(以太网链路类型),避免后续解析pcap文件时出现格式异常。

修正后的配置示例

**.crcMode = "computed"               
**.fcsMode = "computed"           
**.numPcapRecorders = 1                          
**.pcapRecorder[0].pcapLinkType = 1    
**.pcapRecorder[0].pcapFile = "results/all2.pcap" 
**.pcapRecorder[0].verbose = true            
**.pcapRecorder[0].alwaysFlush = true              
**.pcapRecorder[0].packetFilter = "*icmp* or *ping*"

修改后重新运行仿真即可正常捕获ping数据包到指定pcap文件中。


内容的提问来源于stack exchange,提问作者h.bahar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 06:45:03