以编程方式从iscsi数据包中提取某些字节

时间:2011-09-08 02:15:29

标签: wireshark pcap libpcap iscsi

我一直在寻找一种无法获胜的方法。我希望有人能指出我正确的方向。

问题在于:我有大量包含不同数量的ISCSI数据包的wireshark跟踪。我需要解析发起方发送的命令(以字节为单位)并将其写入每个数据包的文件。我原本打算手动执行此操作,因为它很容易在wireshark应用程序中查看(参见下面的SS),但其中一些痕迹很大(1-2 Gb),并且需要永远手工完成。

为了进一步澄清,我需要的是:

http://img690.imageshack.us/img690/6067/wiresharksample.png

我一直在研究tshark和rawshark文档,但我不确定是否能够得到我需要的东西。一位朋友建议使用libpcap自己解析跟踪,但从我可以看出,我需要找到一些方法来识别我需要从每个数据包中提取的字节。理想情况下,我想使用能够识别它的东西(即wireshark的ISCSI解剖器)。

有人能指出我正确的方向吗?我需要一些方法来解析每个ISCSI数据包中的这些命令,而无需查看原始数据包数据并尝试识别我需要的字节。作为注释 - 如上所示,它并不总是数据包中的最后16个字节,所以我不能只通过最后16个字节。

非常感谢任何见解,谢谢!

1 个答案:

答案 0 :(得分:0)

如果您将数据包导出为PDML / XML(文件 - >导出...->文件 - >另存为类型PDML),您将获得包含所有协议字段的精美XML文件。您可以将此用作您的要求,或将其用作索引来查找每个数据包中的原始字节。

screen cap of PDML iscsi packet