The aim of this assignment is to create a simple text based network monitoring tool. The tool must
meet the following requirements:
• Must be able to function as both a host (i.e. monitoring machine) and as a target (i.e.
machine to be monitored).
• Must be able to produce metrics of network activity. (It is not necessary to link to the
network card of the machine, and it is not a requirement, instead students are advised to
create their own way to measure network performance via including simple time related
metrics in the program.
• Must be able to offer connectivity to more than one target machines.
Accomplishing the above tasks successfully achieves a minimum PASS MARK OF 40%.
Further marks will be awarded for efficient implementation of code.
Further marks will also be awarded for:
• Implementation of a User Friendly (text based interface).
• Testing tools for the program produced.
• Overall enhanced functionality in measuring the network performance, i.e. hot switching
between different target machines, silent monitoring until a threshold is reached,
comparative performance over set time, alarm for poor performance, etc.
The assignment is individual and no group work is allowed. Submission is electronic via the linux
submit script. No report is necessary, just the produced code
Due to the nature of the assignment, a detailed suggested solution is not given. However, a
successful submission of code would include:
• Adherence to the OOP principles.
• Clean classes and rational, functional objects.
• Good use of methods, method overriding and overloading.
• Proper use of constructors.
• Proper use of inheritance.
• Creation of a simple time based metric algorithm for network performance
• Use of threads
• Use of sockets
• Use of Arrays
Students are expected to create tools for testing the classes they intend to use in their final product