Network Attacks and Defenses: A Hands-on Approach