Instructor
Freelance blockchain and cyber security trainer, author, consultant, and technical content developer
Howard Poston
-
1
Python for Network Traffic Analysis
-
Intro
-
-
2
Module 1
-
Intro
-
Preparing Environment
-
Packet Capture in Wireshark
-
Getting started with Scapy.
-
-
3
Module 2
-
Intro
-
Feature Selection
-
Extract Features of Interest
-
-
4
Module 3
-
Intro
-
Flow Data
-
Network Graph
-
Network Graph
-
-
5
Module 4
-
Intro
-
Extract HTTP
-
Credentials
-
IoCs
-
File Carving
-
Learning Objectives
By the end of this course, you should be able to:
-
Understand how to analyze network traffic, including what features to extract and how to analyze them.
-
Use Python and Scapy to analyze network traffic in packet capture files and live captures.
-
Develop custom Python scripts to answer questions with network traffic data.
Module 1: Getting Started with Network Traffic Analysis in Python
- Setting up the development environment (libraries, packet capture files, etc.).
- Looking at a packet capture in Wireshark (provides better visualizations).
- Getting started with Scapy.
- Loading a packet capture into Scapy.
- Viewing capture contents.
- Accessing fields of a traffic capture.
Module 2: Feature Selection for Network Traffic Analysis
- Explore the structure of a network packet in Wireshark/Scapy.
- Identify the fields that would be useful/useless for network traffic analysis (for example, server ports are useful, while client ports are not since they are random).
- Write code that extracts features of interest for further analysis.
- Perform basic analysis of traffic (i.e. clustering, etc.) using extracted features.
Module 3: Flow-Level Traffic Analysis
- Discuss the concept of network flows (i.e. high-level header data with no packet contents).
- Write code to convert a packet capture or live traffic capture to flow data.
- Generate a network map with flow data.
- Classify systems based on role in the organization (end-user systems, various types of servers, etc.).
- Identify potential data exfiltration with flow data.
- Identify anomalous sessions for future analysis (i.e. differentiating a successful login attempt from a failed one, etc.)
Module 4: Packet-Level Traffic Analysis
- Discuss the pros and cons of packet-level analysis.
- Write code to extract packet payloads, HTTP headers, and other features of interest.
- Extract credentials and other sensitive data from unencrypted communications.
- Identify encoded and encrypted data within packet contents.
- Extract potential indicators of compromise (IoCs) to identify malicious traffic.
- Carve files from network traffic for further analysis.
Background knowledge needed
Helpful, but not required to know.
-
Knowledge of Python
-
Network Traffic Analysis
-
Data Science