什麼是無證客戶端/服務器通信的方法要捕獲和分析您想要的信息,然後讓您的程序實時查找此信息?例如,查看在線遊戲客戶端/服務器通信並獲取信息並使用它來執行諸如在第三方地圖上顯示位置等的程序的程序。如何從客戶端/服務器通信中提取沒有文檔的信息?
回答
一般來說,Wireshark是交通/協議分析 - 一個很好的建議,但是,您似乎在尋找別的東西:
例如,看一下網絡遊戲的客戶端/服務器通信,並得到項目信息並將其用於在第三方地圖上顯示位置等內容。
我假設您指的是多人遊戲和遊戲服務器?
如果是這樣,這些程序通常使用專用服務連接來查詢相應服務器的位置更新以及其他端口上的其他元信息,但它們實際上並不實際攔截或檢查客戶端/服務器通信,而且它們也不會真正干擾這些更新。因此,你會發現大多數遊戲服務器都支持非常簡單的被動連接(即僅輸出),這僅僅是爲了獲得某些運行時狀態,而這往往只是通過相應的外部腳本/網頁。
同樣,在不同的端口上還有一個專門的管理界面,還有另一個發佈服務器統計信息的界面,因此可以輕鬆查詢這些界面以便將整潔的統計信息嵌入到網頁中。
根據遊戲服務器的類型,這些可能會提供公開/匿名使用,或者他們可能需要某些憑據才能訪問此類數據端口。
更復雜的系統也將允許用戶訂閱只對特定狀態和更新,這樣就可以動態地配置你是什麼樣的數據感興趣的
所以,即使你在底層協議有完整的文檔,你不能在這些通信之間直接檢查客戶端/服務器通信。然而,這可能不容易實現。理論上,這基本上需要一個SOCKS代理服務器來建立和使用所有客戶端,這樣你才能真正檢查正在進行的通信。
像wireshark這樣的程序通常只會爲您自己的機器/網絡上的通信提供有用的信息,並且不會提供有關您無法訪問的計算機之間正在進行的通信的任何信息。
換句話說,即使你使用wireshark來a)逆向工程協議,b)想出了一種檢查流量的方法,c)創建一個位置圖 - 所有這些只會對你有權訪問,即在您自己的機器/網絡上進行的訪問。所以,相應的在線地圖只會顯示你自己的位置。
當然,還有一種選擇:您可以模擬一個客戶端,這樣您就可以從其他客戶端獲得服務器端更新,但這必須處於旁觀者模式。
這反過來會意味着你是一個消耗服務器端狀態但不提供任何服務器端狀態的被動客戶端。
因此,您可以反過來使用所有這些更新來填充在線地圖或將其用於您的任何其他想法。
然而,這需要你的觀衆/客戶端始終連接到服務器,可能會佔用寶貴的遊戲服務器插槽。
一些遊戲服務器提供專門的觀衆模式,以便您可以使用實時動態觀察整個遊戲。然而,大多數遊戲服務器會在特定的空閒超時後自動踢出觀衆。
- 1. 如何在客戶端獲取服務器錯誤信息Node.js
- 2. 客戶端 - 服務器雙向通信
- 3. winsock客戶端和服務器通信
- 4. Silverlight客戶端 - 服務器通信
- 5. 客戶端/服務器,加密通信
- 6. 客戶端 - 服務器TCP通信
- 7. 客戶端 - 服務器通信
- 8. Android客戶端服務器通信
- 9. 服務器 - 客戶端通信
- 10. 服務器/客戶端通信問題
- 11. 客戶端服務器通信故障
- 12. Python客戶端服務器通信
- 13. 客戶端/服務器通信WPF
- 14. 服務器客戶端通信java
- 15. 客戶端/服務器通信圖
- 16. 簡單客戶端服務器通信
- 17. 服務器 - 客戶端通信問題
- 18. REST服務器到客戶端通信
- 19. 客戶端 - 服務器通信
- 20. 通過WCF在服務器端檢索客戶端信息
- 21. 如何保護客戶端服務器中的通信?
- 22. 客戶端服務器通信受阻於客戶端
- 23. 服務器到客戶端通知/ Web服務(jax-ws)到客戶端通信
- 24. 如何在Android中進行客戶端服務器通信?
- 25. Web服務如何獲取客戶端信息?
- 26. 客戶端服務器通信 - Java服務器
- 27. 客戶端winform和服務器的Web服務通信項目
- 28. 使用RTSP將信息從服務器傳遞到客戶端
- 29. 從服務器到客戶端的套接字通信困難
- 30. ASP.NET AJAX:如何從服務器端向客戶端發送信息