CS 231 Applied Network Security

The course covers some practical notions related to network security. It is made of four distinct parts: 1) mastering the GNS3 environment, 2) mastering basic principles of network programming in python (basic client server, concurrent programming, multithreaded server) and network packet manipulation with scapy, 3) major security technologies for network security (firewall, scans, NIDS, ssh, ssl, ipsec, tor, etc.), 4) personal work on the security aspects of a specific application layer protocol (eg. Dns, mail, ftp, http, SIP, etc.) to present in front of the class. Prerequisites: Course will be as self contained as possible but some background in computer systems, linux, networks and python would help.