2009-02-12 21 views
4

我正在尋找比Wireshark更好的工具。 Wireshark的問題在於它沒有格式化數據層(這是我正在查看的唯一部分),以便比較不同的數據包並嘗試理解第三方編碼(這是封閉源代碼)。解密編碼:數據包分析工具

具體來說,有什麼好的工具查看數據,而不是TCP/UDP頭信息?特別是一種格式化數據以進行比較的工具。

要非常具體:我想要一個程序比較多個(不只是2)在十六進制文件。

+0

什麼平臺/操作系統? Linux,win32,OSX? – 2009-03-04 18:22:55

+0

Windows平臺 – Zombies 2009-03-06 20:15:49

回答

3

坦率地說,你最好打賭是推出自己的。

獲取您熟悉的腳本語言並開始解決問題。首先寫出一個簡單的多路比較,但只要你開始發現你認爲重要的模式(或者你認爲可能是的),回去並將它們添加到代碼中 - 從輸出中消除它們,突出顯示它們,翻譯它們換成另一種表示法,用它們的「含義」或對其作用的某種高級描述來替換它們 - 無論似乎是合適的。如果您無法做出決定,請將其作爲選項。

您正在尋找可視化軟件,因爲您需要一些東西來幫助您形成和內化對其編碼的理解。但是你要做的比較只是你將要使用的過程的一部分(這本質上就是科學方法) - 你也將會形成和修正對包的各個部分是什麼意思的猜測,它們是如何相互作用的等

沒有預建的工具可以幫助你,但一個好的腳本語言(比如python,ruby,甚至perl)會有很大的幫助。當你形成一個理論,編碼並試用。將你的代碼捆綁在一起,隨着你的想法嘗試不同的想法,並隨着你的需要建立一套針對這個問題的技巧。

- MarkusQ

P.S.不要陷入嘗試使用C或Java或其他東西來做到這一點的陷阱。你將會玩得很快而且鬆散,並且應該有一個不需要變量聲明和編譯等的工具。一旦你瞭解了它的工作原理,將會有很多機會將它收緊並重寫它

+0

是的,我正在考慮這些方面。 – Zombies 2009-03-10 19:36:07

0

問題是應用程序層的數據不是標準的(很少有例外,如HTTP,POP3等)。像Wireshark這樣的工具不能解碼這個信息,如果他們不知道格式。

我知道一些舊版本的Ethereal(現在是Wireshark)有選項(你可能必須啓用它)才能顯示有效載荷。預計它沒有意義,大多數協議都是二進制的!

+0

我打算嘗試自己解碼它,並需要工具來幫助我將其可視化並進行比較。 – Zombies 2009-02-12 14:46:22

1

對於HTTP而言,我曾經使用過稱爲Effetech的很棒的工具。
(儘管現在看起來它們似乎支持的不僅僅是HTTP ......)

0

如果你有一個捕捉你已經完成了空靈,你可以讀取捕獲,或者你可以用tcpdump做你的捕獲。要捕獲使用tcpdump命令,如tcpdump -s 0 -qn -Xtcpdump -X -r filename將讀取一個捕獲。

22:08:33.513650 IP 192.168.32.10.40583 > 69.59.196.211.80: tcp 1261 
0x0000: 4500 0521 18ec 4000 4006 322a c0a8 200a [email protected]@.2*.... 
0x0010: 453b c4d3 9e87 0050 b0b6 4b4f 1598 0090 E;.....P..KO.... 
0x0020: 8018 1920 9b4f 0000 0101 080a 002e 701b .....O........p. 
0x0030: 093c bc38 4745 5420 2f75 7365 7273 2f32 .<.8GET./users/2 
0x0040: 3032 3637 2f7a 6f72 6564 6163 6865 2048 0267/zoredache.H 
0x0050: 5454 502f 312e 300d 0a48 6f73 743a 2073 TTP/1.0..Host:.s 
0x0060: 7461 636b 6f76 6572 666c 6f77 2e63 6f6d tackoverflow.com 

或者還有另一個tcpick這可能是你想要的。您可以捕獲tcp連接的有效負載,並將其顯示爲十六進制或保存。

+0

是的,我現在看到的是比較多個轉儲的有效方法。我會認爲像beyondcompare,但多個文件的東西會很棒。 – Zombies 2009-03-05 19:39:09

5

看看this blog post from BreakingPoint Labs。他們正在討論手動協議逆向工程以及建立在PacketFu上的一組工具,以使這項任務更容易。

與您的問題相關的是一組工具,可以輕鬆識別和突出顯示數據包的更改。下面是一個例子截圖,顯示了用色勾勒出數據包的區別: alt text http://www.breakingpointsystems.com/default/assets/Image/Blog%20Images/select_two_days.png

+0

哇,非常感謝你。 – Zombies 2009-03-10 19:35:15

2

你的問題是不是分析網絡數據,但是當你通過你的需求描述比較二進制文件。

我會通過任何嗅探器,即藉助於Zoreadche或Wireshark所描述的tcpdump(即通過遵循TCP會話)來提取應用程序數據。然後將其保存到文件並通過任何文件比較工具進行比較。你可以試試這些(最受歡迎的):

  • Examdiff Pro。真的很快比較目錄。
  • Winmerge。雖然速度不如examdiff pro快,但它是開源的,而且正在迅速發展。這是我的第一選擇。
  • Beyondcompare。這是我知道的唯一的文件比較工具,它完全符合您的要求,即同時比較try文件。