Introduction
  • Teaser
  • Course Introduction
  • Introduction to Python Programming & Ethical Hacking
  • Lab Overview & Needed Software
  • Installing Virtual Box on Windows
  • Installing Virtual Box on Apple Mac OS
  • Installing Virtual Box on Linux
  • Installing Kali 2021 as a virtual Machine
  • Basic Overview of Kali Linux
  • The Terminal & Linux Commands
  • Python 2 VS Python 3 & Writing Our First Program
  • Installing & Using a Python IDE
Writing a MAC Address Changer - Python Basics
  • What is MAC Address & How To Change it
  • Using Python Modules & Executing System Commands
  • Implementing a Very Basic MAC Changer
  • Variables & Strings
  • Using Variables in MAC Changer
  • Getting Input From The User
  • Handling User Input
  • Handling Command-line Arguments
  • Initialising Variables Based on Command-line Arguments
  • Python Functions
  • Returning Values From Functions
  • Decision Making in Python
  • Using Conditional Statements in MAC Changer
MAC Changer - Algorithm Design
  • Introduction to Algorithms
  • Reading Output Returned By System Commands
  • Introduction to Regular Expressions (Regex)
  • Extracting a Substring Using Regex
  • Refactoring & Housekeeping
  • Implementing The Validation Algorithm
  • Python 3 Compatibility
Programming a Network Scanner
  • Introduction & Teaser
  • Installing Windows as a Virtual Machine
  • Introduction to ARP
  • Designing an Algorithm To Discover Clients on The Same Network
  • Using Scapy To Create an ARP Request
  • Combining Frames To Broadcast Packets
  • Sending & Receiving Packets
  • Introduction Lists in Python
  • Iterating Over Lists & Analysing Packet
  • Using Escape Characters To Improve Program Output
  • Introduction to Dictionaries in Python
  • Improving the Program Using a List of Dictionaries
  • Iterating Over Nested Data Structures
  • Get IP Range Using Command Line Arguments
  • Testing The Network Scanner With Python 3
Writing an ARP Spoofer
  • What is ARP Spoofing?
  • Intercepting Data in a Network Using arpspoof
  • Creating an ARP Response
  • Sending ARP Responses
  • Extracting MAC Address From Responses
  • Introduction to Loops in Python
  • More on Loops & Counters
  • Dynamic Printing
  • Exception Handling in Python
  • Implementing a Restore Function
  • Restoring ARP Tables on Exception
  • Fix Dynamic Printing
Writing a Packet Sniffer
  • Introduction & Teaser
  • Sniffing Packets Using Scapy
  • Extracting data From a Specific Layer
  • Analysing Sniffed Packets & Extracting Fields From Layers
  • Analysing Fields & Extracting Passwords
  • Extracting URLs
  • Capturing Passwords From Any Computer Connected to the Same Network
  • Strings & Bytes in Python 3
Writing a DNS Spoofer
  • Intercepting Packets - Creating a Proxy
  • Converting Packets to Scapy Packets
  • Introduction to DNS Spoofing
  • Filtering DNS Responses
  • Analysing & Creating a Custom DNS Response
  • Modifying Packets On The Fly
  • Redirecting DNS Responses
  • Conversion Between Strings & Bytes
Writing a File Interceptor
  • Introduction & Teaser
  • Filtering Traffic Based on the Port Used
  • Analysing HTTP Requests
  • Intercepting HTTP Requests
  • Modifying HTTP Responses on The Fly
  • Intercepting & Replacing Downloads on The Network
  • Testing The File Interceptor With Python 3
Writing a Code Injector
  • Introduction & Teaser
  • Analysing HTTP Responses
  • Replacing a Substring Using Regex
  • Decoding HTTP Responses
  • Modifying HTTP Responses & Injecting Javascript Code in HTML Pages
  • Refactoring & Housekeeping
  • Debugging Issues in Python
  • Using Groups & None-capturing Regex
  • Recalculating Content Length