Course Details
Course Outline
1 - An Overview of Python
What is python?1 -- An overview of PythonWhat is python?Python Timeline Advantages/Disadvantages of Python Getting help with pydoc
2 - The Python Environment
Starting Python Using the interpreter Running a Python script Python scripts on Unix/WindowsEditors and IDEs
3 - Getting Started
Using variables Builtin functions Strings NumbersConverting among types Writing to the screen Command line parameters
4 - Flow Control
About flow control White space Conditional expressions Relational and Boolean operators While loops Alternate loop exits
5 - Sequences
About sequences Lists and list methods Tuples Indexing and slicing Iterating through a sequence Sequence functions, keywords, and operators List comprehensions Generator ExpressionsNested sequences
6 - Working with files
File overviewOpening a text file Reading a text file Writing to a text fileReading and writing raw (binary) dataConverting binary data with struct
7 - Dictionaries and Sets
About dictionaries Creating dictionaries Iterating through a dictionary About sets Creating sets Working with sets
8 - Functions
Defining functions Parameters Global and local scopeNested functions Returning values
9 - Sorting
The sorted() functionAlternate keys Lambda functions Sorting collections
10 - Errors and Exception Handling
Syntax errors Exceptions Using try/catch/else/finallyHandling multiple exceptions Ignoring exceptions
11 - Modules and Packages
The import statement Module search path Creating modules and Using packagesFunction and Module aliases
12 - Working with Classes
About o-o programmingDefining classesConstructorsMethodsInstance dataPropertiesClass methods and data
13 - Regular Expressions
RE syntax overview RE Objects Searching and matching Compilation flags Groups and special groupsReplacing textSplitting strings
14 - The standard library
The sys module Launching external programs The string moduleReading CSV data
15 - Dates and times
Working with dates and timesTranslating timestampsParsing dates from text
16 - Working with the file system
Paths, directories, and filenames Checking for existencePermissions and other file attributesWalking directory trees Creating filters with fileinputSecurity and File Access
17 - Network services
Grabbing web contentDetecting Malformed Input
18 - Writing secure Python applications
Parsing command-line optionsGetting help with pydocSafely handling untrusted dataManaging eval() permissionsPotential insecure packagesEmbedding code snippets in PythonEmbedding authentication data in PythonPotentially dangerous operations:File accessOperating system accessCalls to external services Called to external data sourcesStatic analysis tools such as Bandit
19 - Log File Analysis
Raw log file manipulationFail2BanCustomizing Fail2Ban with Python
20 - Security Filters
SQL-Injection DetectionModSecurity CRS filtering
21 - Packet Analysis
Packet Sniffing in Python
22 - Analytics
Security Logging and AnalyticsAttack Detection and DefensePython and Spark High-Level Overview
23 - RESTful Web Services
What is Flask?Developing a Flask Web serviceMapping resources using URLsMapping resources using HTTPNegotiating data content
Actual course outline may vary depending on offering center. Contact your sales representative for more information.
Who is it For?
Target Audience
This course is tailored specifically for Security Analysts and others new to Python, who wish to learn and use Python functionality for security-related tasks such as log manipulation or forensics. Students are required to have some basic programming experience and exposure prior to attending this course. Students should have basic development experience in any programming language, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows.
Other Prerequisites
This course is tailored specifically for Security Analysts and others new to Python, who wish to learn and use Python functionality for security-related tasks such as log manipulation or forensics. Students are required to have some basic programming experience and exposure prior to attending this course. Students should have basic development experience in any programming language, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows.