Lab Environment

  • Virtual Machine Software: Install VirtualBox (version 4.2.6 or newer). This is a free software.
  • Ubuntu 16.04 Virtual Machine Image: Download our pre-built Ubuntu 16.04 virtual machine image. All the Linux labs use this image. Here is the user manual, which includes the account and password information, list of software and servers installed, and configuration. To use this image, do the following:

Note: For the lab setup, you do not need to submit anything. However, we strongly urge you to get the environment set up as soon as possible, and start getting familiar with the environment. For those who are not familiar with the Linux operating system, you need to spend extra time.


Points (undergraduate)
Points (gradudate)
Lab 1: Packet Sniffing and Spoofing Lab. There is no need to do Task 2.c. You need these two files: myheader.h and checksum.c. 8
Lab 2: Linux Firewall Lab 8
Lab 3: Bypassing firewalls using VPN --
Lab 4: TCP/IP Attack Lab 8
Lab 5: DNS Attack Lab: (Part I: Local Attack) 4
Lab 6: DNS Attack Lab: (Part II: Remote Attack) --
Lab 7: Crypto Lab I - Secret-Key Encryption 4
Lab 8: Crypto Lab II - One-way Hash --
Lab 9: Crypto Lab III - Public-Key Cryptography and PKI 8
merged into VPN
Final Project: Virtual Private Network (VPN) Lab (demo only) 10
Total 50

Note 1: The VPN lab should start immediately after the DNS lab.
Note 2: The knowledge and experience gained from the three Crypto Labs will be quite useful to the VPN lab.


  • Working individually or in group: All labs are individual labs. You are encouraged to discuss with others, but each student must independently carry out the tasks in the labs. You cannot copy code from other students. Any violation will be punished and reported to the university authority.
  • Lab Report: For all labs, You should submit a hardcopy of your lab report before the class on the due day. We may ask (randomly) selected students to give a demonstration.
  • The VPN Project:
    • Demo: For the VPN Lab, you need to give a 7-minute demonstration.