Wrote in Java, No GUI (maybe later)
This program represents the exchange of data inside of a local area network.
You can find the OSI layers and client-server applications (such as DNS client and server).
Devices, frames, bytes, IP Address, Mac Address, ARP table, Ethernet, UDP Protocol, ... are represented in classes.
The main() executes the exchange of data between 3 computers in a local area network, 1 client, 2 servers (1 application and 1 DNS).
The application server hosts 2 applications on different ports.
The program is based on Abstract Classes : a good project about this Strategy pattern.
You can follow the progress of the bytes in the console (layer by layer).