[英]PCAP nanosecond resolution from Java
對於性能分析,我公司對納秒分辨率感興趣。 到目前為止,我們一直在使用硬件時間戳 ,納秒的支持很快就被攻入了C libpcap庫。
現在似乎已經將對納秒的支持添加到庫中(請參閱此處的其他Stack Overflow答案),並且git存儲庫上的最后一個版本使以下方法可用:
pcap_open_offline_with_tstamp_precision(pathname, PCAP_TSTAMP_PRECISION_NANO, errbuf);
問題是,C已經證明自己很難維護,難以擴展,而且由於我們只使用捕獲進行分析 ,我們覺得我們可以從使用Java中獲益。 在性能分析方面,能夠使用適當的IDE,Maven,構建Web服務等似乎比執行速度更重要。
我首先希望能夠使用jNetPcap但我無法找到如何使用libpcap的Java綁定來支持納秒分辨率。
有沒有人知道使用jNetPcap讀取具有納秒級精度的Pcap文件的簡單方法?
更新:我剛剛在jNetPcap的Javadoc中提到了TimestampResolution
枚舉。 我會嘗試使用它並稍后更新我的答案。
注意: 我還直接在jNetPcap的支持論壇上詢問了納秒分辨率,如果我得到任何答案,我會更新我的問題......
有沒有人知道從Java生態系統中獲利的另一種方式,同時仍然能夠以納秒精度讀取PCap文件?
謝謝! :)
我知道這個問題已經過時了,但萬一其他人有這種需要 - 如果使用jNetPcap不是必須的, pcap4j似乎支持它。
打開上限:
PcapHandle h = Pcaps.openOffline(fname, PcapHandle.TimestampPrecision.NANO);
要讀取數據包和時間戳:
Packet nextPacket = h.getNextPacket();
Timestamp timestamp = h.getTimestamp();
希望有所幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.