User Tools

Site Tools


python

Learning Python with Cybersecurity Examples

wc_20th_anniv_logo_stars_v2.jpg

This is a synchronous ONLINE track - you are expected to log in for the duration of the training

Description
This course will examine fundamental concepts of Python programming. It is designed for sysadmin, networking and cybersecurity instructors. Programmers are welcome to take the class, but basic programming concepts will be discussed as required by the class. The goal is to learn Python by writing programs relevant to cybersecurity. Participants will be given step-by-step labs as well as more open-ended projects to reinforce Python concepts. Projects will include a ping scanning program, a web scraping program, a log analysis program and a password cracking program. The programs will be mostly proof of concept. Our ping scanning program will not replace Nmap. The purpose is to make learning Python more enjoyable and relevant.


Textbook
There is no textbook for the class, but I will be referencing the Python 3.10 documentation. Especially the Library Reference and Tutorial.
https://docs.python.org/3.10/


Prerequisites

  • Familiarity with Linux
  • Acquaintance with vi or nano is helpful

At-Home Computer Requirements

  • You will need an internet connection, but the bandwidth requirement is low.
  • A web camera is preferred to help with class interactions.

Instructor

paul2.jpg

Paul Gordon is an instructor at Northwood Technical College. Paul has been teaching IT classes for 18 years. He teaches, a variety of subjects including Windows and Linux operating systems, PowerShell, CCNA, Information Security, AWS cloud computing, Windows Server, VMware virtualization and Storage. He has or has had the following certifications: AWS Certified Solutions Architect Associate, VCP 4, VCP 5, CCNA, CCNA Security, Linux+, Security+, Net+ and A+. Prior to being an instructor, Paul worked as a system administrator where he learned to use scripting to automate system administration tasks.


Track Objectives
At the completion of this track, the participants will be able to…

  • Use Python to implement basic programming constructs
  • Use Python modules to increase program functionality
  • Write and test Python programs relevant to cybersecurity

Agenda

Click here for the program schedule and times.

Day 1 - Monday July 11
Create and configure virtual machines
Topic 1: Datatypes: strings and integers
Topic 2: For loops and if statements
Topic 3: Modules and running external programs

Day 2 - Tuesday July 12
Topic 4: Sequences
Topic 5: String functions
Topic 6: File operations
Topic 7: Working with web pages

Day 3 - Wednesday July 13
Topic 8: User input
Topic 9: Working with the filesystem
Topic 10: Working with regular expressions
Topic 11: Comments, doc strings and coding style

Day 4 - Thursday July 14
Topic 12: Dictionaries
Topic 13: Working with the Hashlib library
Topic 14: Parsing password hashes
Topic 15: Creating Python modules

Day 5 - Friday July 15
Topic 16: Errors and Exceptions
Topic 17: Working with the JSON format
Topic 18: Object oriented programming


Please note the schedule is subject to change or be modified based on the needs of the track participants.

python.txt · Last modified: 2022/05/13 15:48 by admin