You are on page 1of 5

Networking project ideas

Introduction
Here are some ideas of projects in the Networking area. Some of these are new, and
some are ideas that have run before but could be run again. Note that, unlike the
normal project ideas, these ideas do not have a contact listed against them. They are
there to give you ideas of the sort of things that could be done. If a project idea
seems interesting, and you would like to pursue it further, then you should discuss it
with one of the lecturers who are experienced in the Networking area: Bill Buchanan,
Gordon Russell, Ahmed Al-Dubai, Imed Romdhani, Jim Jackson, Robert Ludwiniak
or Neil Urquhart. They may not be able to help you directly, but will at least be able to
point you to somebody better placed, perhaps because their specialist knowledge is
in the area of the project.

1. Title: Health-based Message Passing the .NET 3.0 Framework

Applicable Programmes: Software Engineering/Development, Networking, Distributed


Systems, Internet Computing, and so on.
Style: Applied Research, .NET prototyping, Experimental Evaluation
Outline: The .NET 3.0 Framework provides new communication foundations which allow for
enhanced application security, and for improved distributed systems. This project investigates
the application of the .NET 3.0 into distributing processes around an enterprise network, and
to make efficient use of message passing to synchronise data sources.

2. Title: Enhanced Identity Management using Windows Cardspace

Applicable Programmes: Software Engineering/Development, Networking, Distributed


Systems, Internet Computing, and so on.
Style: Applied Research, .NET prototyping, Experimental Evaluation
Outline: The .NET 3.0 Framework provides new authentication techniques, including
Windows Cardspace, which should allow for a single login and passport. It will investigate
how secure data can be kept on users, and this can be handled with the .NET 3.0 framework.

3. Title: Host-based Intrusion Detection System using Anomaly Detection Methods

Applicable Programmes: Software Engineering/Development, Networking, Distributed


Systems, Internet Computing, and so on.
Style: Applied Research, .NET prototyping, Experimental Evaluation
Outline:
There is an increasing need for intrusion detection systems (IDSs) which allow for enhanced
security, especially in protecting hosts from attack. The objective of this project is to develop a
user pattern for normal activity, and then to run an IDS which detects possibly anomalous
behaviour. The system will use the .NET framework, and interface to other IDS systems, such
as Snort.

4. Title: Fraud Detection using Anomaly Detection Techniques

Applicable Programmes: Software Engineering/Development, Networking, Distributed


Systems, Internet Computing, and so on.
Style: Applied Research, .NET prototyping, Experimental Evaluation
Outline: One method of determining possible fraudulent behaviour is to define normal activity
on a server, and then to monitor for abnormal, or anomalous, behaviour. This project focuses
on capturing normal server behaviour and determining possible attempts at fraud using a
definition of anomalous behaviour.

5. Title: Analysis and Evaluation of the Windows Event Log for Forensic Purposes

Applicable Programmes: Software Engineering/Development, Networking, Distributed


Systems, Internet Computing, and so on.
Outline:
The Windows Event log is often used in digital forensics cases, but, unfortunately, it is flawed
in many ways, and often cannot be seen as a verifiable method of determining events. This
project will analyse these weaknesses, and provide best practice for their analysis.

6. Title: Analysis of Dynamic Network Routing Protocols


Applicable Programmes: CNDS/Network Computing
Style: Network Performance Simulation
Outline: Original network routing protocols were developed to support fixed links where
topology changes were infrequent. Now with the advent of highly mobile devices, the issue of
routing through a very dynamic mesh of nodes is a key development area.
The focus of this project would be to compare different routing protocols in the context of
highly mobile systems. This would be achieved by using a network simulation tool (e.g.
QualNet,OpNet)

7. Title: Cisco Switch Emulation

Applicable Programmes: Networking/Programming route


Style: Technical/Programming
Outline: I have written a 2950 switch emulation shell, which provides the user with an IOSstyle
interface which runs in Linux. The commands are there, but much of the functionality is
missing. I have a number of project ideas which can use this shell as the basis for their work,
including
• Emulating layer 2 switching in Linux (e.g. using brctl)
• Emulating ACL layer 2 security in Linux
• Supporting VLAN databases (e.g. VTP and DTP)
• Emulating port security in Linux
Languages: Perl

8. Title: Automatic IP allocation detection for labs


Applicable Programmes: Networking/Programming route
Style: Technical/Programming
Outline: In large labs, such as the JKCC, it is useful for various research activities to
understand which IP has been assigned to which physical seat in the lab. You could go round
the lab and do it by hand, but this is time-consuming and never ending (as machines are
replaced and moved around). This project looks at induction techniques to work out where
each IP is physically located, using passive techniques such as timetable information and
web log analysis. So, for instance, the CO22001 tutorial happens at 1-3pm in cluster 4, and
during that time they must use http://db.grussell.org. It is therefore likely that all IPs used to
access the web site which belong to Napier which appear in the web log at that time all
belong in cluster 4. Similarly, two people who start doing SQL at 1am in the JKCC at roughly
the same time are probably sitting together. This inductive information can be combined with
pop-up windows which ask the students "where are you currently sitting"? By combining
different techniques we can avoid asking all the students where they are when they login, and
detect errors (a student says they are in cluster 1 when they are in 5).
Languages: flexible
9. Title: Layer 3 firewalls in Linux using ACL

Applicable Programmes: Networking/Programming route


Style: Technical/Programming
Outline: Rather than using the excellent IPTABLE commands to control a linux firewall, one
might wish to control the firewall using the Cisco-style ACL commands. This project looks as
the compatibility of the two approaches, and builds an interface which converts ACL to
IPTABLE commands, and vice versa. Possible extensions to this approach would be to
optimise ACL masks into as few IPTABLE commands as possible (rather than using a simple
29
1-to-1 mapping approach).
Languages: flexible

10. Title: Network teaching approaches using Linuxzoo

Applicable Programmes: Networking/Programming route


Style: Technical/Programming
Outline: My linuxzoo.net site gives the user their own virtual machine with a single ethernet
port running IPv4. Looking to the future, I would like a way to do some of the following:
support IPv6, support routing tutorials, look at client/server problems. I would prefer to do
these with a single machine per student. This project could be technical (e.g. get IPv6 running
and evaluate), or theoretical (concentrating on approach to client/server with a single
machine). If you want to run code in the linuxzoo server, then you should like PERL.
Otherwise the choice is yours.
Languages: perl

11. Title: A Javascript Virtual Cisco Lab Wiring Tool


Applicable Programmes: Networking/Programming route
Style: Technical/Programming
Outline: This project is to provide students which a visual tool which mimics the physical view
of Cisco routers and switches. Cisco equipment sits in a rack, and has many network sockets
for plugging and unplugging connections, along with different types of wires. A system which
virtually supports wiring up different network configurations and topologies would be an
excellent learning tool, especially if combined with a system which could check if the wires
had been plugged into the right places!
Languages: flexible. But Javascript recommended.

12. Title: Extend LinuxZoo with Dynamips

Applicable Programmes:
Style: Linux/Programming
Outline: Dynamips is a processor emulator which mimics the hardware of a cisco router. You
can load on an IOS, and you have a perfect(ish) emulator of a router or switch which runs in
Linux. This could then be added to linuxzoo.net, allowing users to run a router in the same
way they run a linux emulator. A tutorial could then be written to demonstrate the usefulness
of such a device. Components should include
• Investigating dynamips, router emulations, simulations, IOS tutorials, evaluation
techniques, etc.
• Making dynamios run reliably in Linux
• Adding in dynamios to linuxzoo in router mode
• Writing a tutorial to demonstrate the implementation
• Evaluating the system by asking students to run the tutorial
Languages: A little C, a little Perl, XML, and Cisco IOS.
13. Title: IPv6 in Linuxzoo

Applicable Programmes:
Style: Linux/Programming
Outline: My linuxzoo.net site gives the user their own virtual machine with a single ethernet
port running IPv4. Looking to the future, I would like a way to allow users to learn about IPv6.
This would include:
• IPv6 in openvpn (this is used to run my virtual network)
• IPv6 specific command which would make a useful tutorial
• IPv6 addresses using dhcpd bind9
• Implement IPv6 in linuxzoo.net
• Firewall rules to manage IPv6 traffic
• Traffic shaping for IPv6 traffic
• Write a tutorial for users to learn IPv6
• Evaluate your tutorial with real students
Languages: perl, xml

14. Title: Network Security for LinuxZoo

Applicable Programmes:
Style: Linux/Programming
Outline: Linuxzoo is my virtual linux environment. It provides virtual computers to users, and
these computers run on a virtual network. Right now, there is a basic statistic-based security
system running in the network, plus a web proxy and some traffic shaping.
This project would examine LinuxZoo's security requirements, analyse the current security
technologies, investigate better and newer approaches to security, propose updated systems,
and see at least one of those implemented and evaluated within LinuxZoo. Ideally the
resulting implementation would be proactive, detecting problems and throttling machines (or
shutting them down) when problems arise.
• Investigating firewalls, openvpn, iptables, squid, snort, tc, SE Linux, and ip route.
• Perl, cgi, remote system management
• Implementing a solution in linuxzoo.net
• Evaluating the solution.
Languages: iptables, tc, perl.

15. Title: Extend LinuxZoo with PIX emulation

Applicable Programmes:
Style: Linux/Programming
Outline: The PIX firewall is a Cisco technology for providing firewall protection to a network.
This is a hardware platform based on a standard PC architecture. The qemu emulator, which
emulates PC hardware within linux, has been modified to run the PIX OS. This could then be
added to linuxzoo.net, allowing users to run a PIX in the same way they run a linux emulator.
A tutorial could then be written to demonstrate the usefulness of such a device. Components
should include
• Investigating pemu, linuxzoo, simulations, PIX tutorials, evaluation techniques, etc.
• Making pemu run reliably in Linux
• Adding in pemu to linuxzoo
• Writing a tutorial to demonstrate the implementation
• Evaluating the system by asking students to run the tutorial
Languages: linux admin, XML, a little Perl, and Cisco PIX.

16. Title: VNC for LinuxZoo

Applicable Programmes: Networking type students


Style: Technical, experimenting, investigating, configuring, editing C or Java.
Outline: Right now linuxzoo.net runs the virtual machines with ssh or telnet access. This is becoming
insufficient for modern linux machines. This project is to consider how to add a GUI interface to the
virtual machines. This will cover the following points:
• Investigating firewalls, iptables, proxying (e.g. proxytunnel), java applet based clients (e.g.
telnet, ssh, vnc applets), user-based evaluation techniques.
• Graphical interface technologies available (e.g. vnc)
• Proxying technology to allow remote access through an "unhelpful" firewall
• Port multiplex techniques for allowing multiple client applications to share a single server port
(e.g. ssh, vnc, telnet all being able to connect via port 22).
• Implementing a solution in linuxzoo.net
• Producing a tutorial to demonstrate the usefulness of this interface.
• Evaluating the solution and your tutorial.

Languages: iptables, perhaps C, java, XML.

You might also like