[Release] MUnique OpenMU Network Analyzer (Source included)

Results 1 to 13 of 13
  1. #1
    Developer nevS is offline
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    512Posts

    shout [Release] MUnique OpenMU Network Analyzer (Source included)

    Hello,
    as a little new year present I release a network analyzer tool today :)
    This little tool can be used to analyze the network traffic between a server and client, when they use the mu online protocol.
    It acts as a proxy, which means it waits for incoming connections and connects to the actual server when a connection arrives. It then forwards all the traffic between server and client. It also decrypts incoming and encrypts outgoing traffic to allow to take a closer look at the messages. In the future it might also be possible to send custom data packets to server and client - to test their reactions.

    By default the analyzer contains packet definitions for packets which are sent between game client and game server, defined by two separate XML files. However, it's not limited to that. For example, you could basically write other packet definitions and use it to analyze the communication between connect server and game client, too. You can also edit these xml files on the fly - as soon as they change, the analyzer reloads them automatically.

    Usage
    First, enter your local port, on which the tcp/ip listener should run at. For example, I run it at port 55900.
    Next, enter the ip and port of the (game) server you want to connect. For example, I run a game server at 55901 on my local machine (127.x.x.x).

    Next, change the MU version, if it's different from season 6. You can change this anytime you want, however it only has effect on new connections.
    Selecting the correct MU Version is required to correctly de & encrypt the network traffic. Currently, there are 3 options for that.

    Finally, click on 'Start Proxy' - then the application will listen on port 55900 and is waiting for client connections.
    As soon as a client connects, it will be listed in the 'Connection' list and the data packets are shown in the grid. When you click on one packet, it extracts the included information based on the configured packet definition (xml files). It supports multiple concurrent connections, so when you click on one, you'll see its traffic.

    Context Menu

    The connection list has the following context menu items:

    • Disconnect: Disconnects a connected client
    • Save to file: Saves the captured traffic into a file (*.mucap).
    • Load from file: Loads the captured traffic from the file, so you can continue your work.
    • Packet Sender: Opens a new window with a simple packet sender.


    Screenshot:


    Known limitations
    Complex packet structures
    Currently it's not possible to define some more complex packet structures (e.g. arrays of sub-structures) by the xml configuration. I didn't have the time yet, but I don't think this is hard to extend. If you want to work on it, feel free to create an Issue and send me a pull request.
    Incomplete packet definitions
    As it's very time consuming to write the definition for every single packet structure, I only did it for the most common ones between game server and game client. Feel free to submit pull requests to make them complete :)

    Sourcecode: GitHub
    Binaries: here

    Requirements: Installed .NET Framework 4.6.2
    Last edited by nevS; 20-08-19 at 06:10 AM.
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub


  2. #2
    Developer nevS is offline
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    512Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    I extended the analyzer a bit, but have no updated release yet. This may still take a few days as I’m currently busy IRL :-/

    Just to sum up some of the changes since first release:
    - It supports now three different protocol encryptions: 0.75 (very first SimpleModulus), Season 0 - 6(E1), Season 6E3 (v1.04d gmo).
    - Load/Save of your recorded sessions
    - Simple packet sender
    - Improved network stack with reduced memory allocations and increased speed (uses byte Spans and System.IO.Pipelines)
    - Minor fixes/improvements
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub

  3. #3
    Developer nevS is offline
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    512Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    I added the release for version 0.2.0 at GitHub. I updated the first post and the link to the binaries.
    Have fun :)
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub

  4. #4
    Registered juan2cruz is offline
    MemberRank
    Sep 2006 Join Date
    5Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    Hey this sounds really interesting. Are you planning on supporting the last version of GMO ?

  5. #5
    Registered richcash is offline
    MemberRank
    Oct 2019 Join Date
    9Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    Anti-DDoS?

  6. #6
    Developer nevS is offline
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    512Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    Quote Originally Posted by juan2cruz View Post
    Hey this sounds really interesting. Are you planning on supporting the last version of GMO ?
    If someone contributes the new encryption algorithms, yes.
    Quote Originally Posted by richcash View Post
    Anti-DDoS?
    no
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub

  7. #7
    TitansTech / SCFMT bet0x is offline
    True MemberRank
    Mar 2004 Join Date
    /dev/nullLocation
    833Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    NVM i found your Discord.
    Last edited by bet0x; 06-04-20 at 11:01 PM.
    CEO of TitansTech.

  8. #8
    Newbie JodyMusto is offline
    MemberRank
    Aug 2020 Join Date
    1Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    Hello...anyone who has used Cytoscape might be familiar with the Network Analyzer tool in Cytoscape which is used to calculate the degree distribution of the network. I did the same, plot the degree distribution and fit a power law y = ax(squared b) where b is the slope. Cytoscape gives the R-squared and correlation values of the network.

    rigid flex pcb design for assembly guidelines
    Last edited by JodyMusto; 14-08-20 at 09:36 PM.

  9. #9
    Developer nevS is offline
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    512Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    Released Version 0.4.0

    Changes:

    • Minor bug fixes and improvements
    • Updated packet definitions
    • Upgraded to .NET 5.0


    Download: MUnique.OpenMU.Network.Analyzer.v0.4.0.zip
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub

  10. #10
    Ultimate Member 7770988 is offline
    MemberRank
    Jan 2007 Join Date
    NYLocation
    162Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    does it work only on local machine? Is it possible to connect to another live server?
    Infernalit

  11. #11
    Developer nevS is offline
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    512Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    Of course, it’s also possible to connect to another computer. You just have to set the correct target IP and port.
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub

  12. #12
    Ultimate Member 7770988 is offline
    MemberRank
    Jan 2007 Join Date
    NYLocation
    162Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    Quote Originally Posted by nevS View Post
    Of course, it’s also possible to connect to another computer. You just have to set the correct target IP and port.
    I did, and it does not work for some reason 164.132.148.136:55926
    I also used a telnet to check if a connection exist
    Last edited by 7770988; 25-12-20 at 10:11 PM.
    Infernalit

  13. #13
    Account Upgraded | Title Enabled! thejaguar1 is offline
    True MemberRank
    Dec 2004 Join Date
    フィリピンLocation
    510Posts

    Re: [Release] MUnique OpenMU Network Analyzer (Source included)

    Quote Originally Posted by nevS View Post
    Hello,
    as a little new year present I release a network analyzer tool today :)
    This little tool can be used to analyze the network traffic between a server and client, when they use the mu online protocol.
    It acts as a proxy, which means it waits for incoming connections and connects to the actual server when a connection arrives. It then forwards all the traffic between server and client. It also decrypts incoming and encrypts outgoing traffic to allow to take a closer look at the messages. In the future it might also be possible to send custom data packets to server and client - to test their reactions.

    By default the analyzer contains packet definitions for packets which are sent between game client and game server, defined by two separate XML files. However, it's not limited to that. For example, you could basically write other packet definitions and use it to analyze the communication between connect server and game client, too. You can also edit these xml files on the fly - as soon as they change, the analyzer reloads them automatically.

    Usage
    First, enter your local port, on which the tcp/ip listener should run at. For example, I run it at port 55900.
    Next, enter the ip and port of the (game) server you want to connect. For example, I run a game server at 55901 on my local machine (127.x.x.x).

    Next, change the MU version, if it's different from season 6. You can change this anytime you want, however it only has effect on new connections.
    Selecting the correct MU Version is required to correctly de & encrypt the network traffic. Currently, there are 3 options for that.

    Finally, click on 'Start Proxy' - then the application will listen on port 55900 and is waiting for client connections.
    As soon as a client connects, it will be listed in the 'Connection' list and the data packets are shown in the grid. When you click on one packet, it extracts the included information based on the configured packet definition (xml files). It supports multiple concurrent connections, so when you click on one, you'll see its traffic.

    Context Menu

    The connection list has the following context menu items:

    • Disconnect: Disconnects a connected client
    • Save to file: Saves the captured traffic into a file (*.mucap).
    • Load from file: Loads the captured traffic from the file, so you can continue your work.
    • Packet Sender: Opens a new window with a simple packet sender.


    Screenshot:


    Known limitations
    Complex packet structures
    Currently it's not possible to define some more complex packet structures (e.g. arrays of sub-structures) by the xml configuration. I didn't have the time yet, but I don't think this is hard to extend. If you want to work on it, feel free to create an Issue and send me a pull request.
    Incomplete packet definitions
    As it's very time consuming to write the definition for every single packet structure, I only did it for the most common ones between game server and game client. Feel free to submit pull requests to make them complete :)

    Sourcecode: GitHub
    Binaries: here

    Requirements: Installed .NET Framework 4.6.2
    I dunno if this is possible if you can put something like port forwarding.
    WAR is not the ANSWER. KILL the BASTARD!!!



Advertisement