2011-09-08 20 views
1

我一直在尋找一種方法來無效地執行以下操作。我希望這裏有人能指引我朝着正確的方向前進。以編程方式從iscsi數據包中提取某些字節

問題是這樣的:我有大量的wireshark跟蹤包含不同數量的iSCSI數據包。我需要解析出發起者發送的命令(以字節爲單位)並將其寫入每個數據包的文件。我原本是要手動完成這項工作的,因爲它很容易在wireshark應用程序內部看到(見下面的SS),但其中一些痕跡是巨大的(1-2 Gb),而且手工完成需要花費很長時間。

爲了進一步澄清,我需要的是這樣的:

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

我一直在尋找到tshark的和rawshark文檔,但我不知道要麼是打不通我我需要什麼。一位朋友建議使用libpcap自己解析蹤跡,但從我所能告訴的我需要找到某種方法來確定我需要從每個數據包中提取的字節。理想情況下,我想使用能夠識別它的東西(即wireshark的ISCSI解剖器)。

任何人都可以指向正確的方向嗎?我需要一些方法從每個ISCSI數據包中解析出這些命令,而無需查看原始數據包數據並嘗試識別我需要的字節。作爲一個提示 - 它並不總是如上所示的數據包中的最後16個字節,所以我不能只通過並取最後的16個字節。

任何有識之士將不勝感激,謝謝!

回答

0

如果您將數據包導出爲PDML/XML(文件 - >導出...->文件 - >另存爲類型PDML),您將得到一個包含所有協議字段的XML文件。您可能可以將其用於您的要求,或將其用作索引以查找每個數據包中的原始字節。

screen cap of PDML iscsi packet