2011-05-17 19 views
0

我正在與有興趣將Web應用程序與專有ERP客戶機/服務器系統集成的人員工作。我試圖找出一種方法來反向設計API調用服務器,並將其複製到我需要進行集成工作所需的有限數量的功能。反向工程問題 - .NET數據包捕獲

我使用wireshark從客戶端捕獲一些網絡流量。作爲一名PHP/Java程序員,我對.NET世界並不是很熟悉,所以我希望這裏有人可以看看下面的TCP流,並指出我正確的方向。看看流量是否有可能告訴用戶使用哪種.NET客戶端與此服務器進行通信?

.NET.............."...tcp://XXXXXXXX:nnnn/Transporter.rem........application/octet-stream..........................GetMail.mDTA.Connectivity.ITransporter, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null....................System.Guid....._a._b._c._d._e._f._g._h._i._j._k........................../.1D.).`..k.. 

.NET.......................................................System.Collections.ObjectModel.Collection`1[[DTA.Connectivity.Messaging.Message, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null]].....items...System.Collections.Generic.List`1[[DTA.Connectivity.Messaging.Message, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null]]..........NDTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null.......System.Collections.Generic.List`1[[DTA.Connectivity.Messaging.Message, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null]]....._items._size._version...$DTA.Connectivity.Messaging.Message[].................................."DTA.Connectivity.Messaging.Message..... 

.NET......D......."...tcp://XXXXXXXX:nnnn/Transporter.rem........application/octet-stream..........................SubmitOperation.mDTA.Connectivity.ITransporter, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null........................NDTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null.....0DTA.Connectivity.Operations.DataManagerOperation....._Type_SqlStatement._SplitAtSemicolon 
+1

嗯專有ERP,逆向工程;要麼你死在水中,因爲界面會改變,或者它不會,你仍然處於黑暗的地方(因爲你的ERP很快就會過時);你可不可以在牀單上面玩遊戲並聯系供應商......我知道,我知道,愚蠢的天真的事情可以說 – sehe 2011-05-17 20:39:53

+0

你的觀點很好。我們已經聯繫過這家供應商,但他們要收取一筆可觀的費用來自行構建一個Web連接器。我們想要做的事情太簡單了,花了很多錢。 – hendepher 2011-05-17 20:59:49

回答

3

它的.net遠程通過外觀的東西。這包括序列化對象並將它們傳遞給導線。

如果應用程序的二進制文件可用,您可以將它們作爲參考添加到您的解決方案中,以便您可以使用相同的對象並攔截一些數據包。您可能需要檢查您是否違反任何許可證要求。

+1

同意;看起來像標準TCP通道(未加密的LOL)和BinaryFormatter序列化中的簡單.NET遠程處理 – sehe 2011-05-17 20:40:51

+0

非常感謝您在正確方向上的碰撞。我在.net remoting上做了一些搜索。看起來,除非我能夠重新創建對象來反序列化它們,否則我的想法就會被擊沉。我希望能夠做一些簡單的RPC調用或什麼。看起來.net remoting也是過時的,這也是sehe的評論。 – hendepher 2011-05-17 21:14:08