Tracking flash application packets
I have this flash application that opens a socket connection with a server. What I need to do is to read packets sent and received byt he application to write a sort of "history" ( in WIndows). Now, questions are:
- How is the simplest way to do it? Applicat开发者_运维知识库ion hooking? Load the flash application in my application and take control over it? No packet sniffing allowed.
- Is it possible to do it in C++, or you think it's better to use another programming language? My first choice was java, but it seems that do it is troublesome...
The simplest way to do it (by far) is to use a socket proxy. The flash application connects to the proxy, the proxy connects to the server and relays streams both ways while logging.
As far as I know, the flash application can only connects to the server where it was donwloaded, so it means you may have to host the flash localy, setting up a little http server.
Take a look at Socket Workbench for an example of a socket proxy. You can also roll your own with java or c#. c++ seems a bit overkill here.
you can sniffer packets on application level by injecting your code in network calls, check Detours: http://research.microsoft.com/en-us/projects/detours/
精彩评论