
Explore Python socket programming by building a simple client-server chat: create, bind, and listen on a socket; accept connections, exchange messages, and close the connection.
Learn python socket programming by building a client that connects to a server on port 5000 using AF_INET and SOCK_STREAM, exchanges messages, and closes on 'bye'.
Understand using the http client from the four http packages to perform a get request, read the status and headers, and close the connection with a practical code example.
Learn how to implement the http post method in Python, including setting content-type headers, preparing json data with json.dumps, sending requests, handling responses, and debugging common errors.
Set up a Python http.server to share files over a local network, run on a port above 1024 (e.g., 9000), and access directory listings like client.py, main.py, and server.py.
Explore how to download files from a remote server using Python's ftp lib, including login, directory navigation, binary retrieval, and error handling with try/except on a Metasploitable server.
learn how to send commands to a remote server via ftp in python, including login, pwd, cwd, and list, and how to print and handle responses.
Demonstrates encrypting a text file with a 16-byte key using cryptography, creating an iv in aes cfb mode to produce and save an encrypted file with binary io.
Decrypt an AES-encrypted file in Python by reading binary data, extracting the IV and cipher text, then decrypting with AES in CFB mode and saving the decrypted output.
Explore how to create and hash text using Python's hashlib, trying algorithms like sha1, md5, and sha256; encode input, generate hash objects, and display hex digests.
Demonstrates cracking a password-protected zip file using a Python program that iterates a password list with the zipfile module and extracts the archive when the correct password is found.
Split a single file containing passwords and hashes into two files using pandas. Read the data, set columns to password and hashed, and save to row_password.txt and hashed_password.txt.
Learn to build a python program that, given a password hash, uses a password list and hashlib algorithms (sha256, sha1, or md5) to recover the original password.
Explore how Windows stores password hashes and how Python scripts can interact with hash data in a controlled lab setup using Kali Linux, sam and system files, and password lists.
Learn to automate Windows tasks with Python by using the keyboard module to open Run, launch cmd, navigate directories, and copy files like notepad.exe into a Python folder.
Demonstrate tracking a phone location in Python by using the Open Datacom geocoding API, parsing a number, retrieving country and carrier, and rendering a folium map with coordinates.
Build a network scanner with Scapy to discover all devices on a connected network, listing each device's IP and MAC address via ARP requests and responses.
Learn how to remotely access other computers on the same network using a Python project, exploring IP addresses, telnet, and cross-platform systems (Windows, Mac, Linux) with virtual machines.
Explore telnet's text-based remote access, its plain-text credential risks, and using telnet in a Python script to remotely manage a vulnerable machine.
Learn to remotely access a machine with Python using telnet library, authenticate with host, port, username, and password, and execute commands like uname -a and who while handling ascii encoding.
Explore how ssh provides encrypted remote access, install and start the ssh server, check status, and connect from the host to a Kali Linux VM.
Demonstrate how to use a Python script with the subprocess module to open an ssh connection to a Kali Linux host, run a remote command, and capture stdout and errors.
Demonstrate how an arp spoofing program creates a man-in-the-middle between a victim and the router to capture and analyze traffic, mapping ip and mac addresses.
Explore arp spoofing using the arpspoof tool in Kali Linux, configuring interface, target, and router to demonstrate a man-in-the-middle attack, verify arp changes, and enable ip forwarding.
Learn to build an arp response packet with scapy in python, configuring arp fields such as op and destination and mac addresses to demonstrate arp spoofing.
Learn to craft and send packets with scapy, extract mac addresses, and implement arp spoofing by creating functions to get a target mac and spoof the ip.
Build a continuous arp spoofing program that sends packets to Windows 7 and the router using a while loop and time.sleep delays, with IP forwarding on Kali Linux.
Add a counter to track packets sent, increment by two each loop, and print the total, including handling keyboard interrupts and string-integer conversion.
Learn dynamic printing in Python 3 by using end='' and an empty string to control buffering, then overwrite the current line with backslash r to display progress in one line.
Use exception handling with try and except to show a readable message when a keyboard interrupt occurs, improving user experience.
Restore the ARP table after ARP spoofing by creating a restore function that sends correct MAC addresses for destination and source IPs using Scapy.
Build a packet sniffer with Scapy that captures traffic on a specified interface using a PRN callback to process each sniffed packet. Disable storage to reduce load during sniffing.
Learn to filter traffic and capture only HTTP data to extract browser links and credentials, using scapy-http to sniff and print HTTP requests.
Analyze sniffed packets in Python with the show method to reveal ethernet, ip, tcp, and http layers, and extract usernames and passwords from raw http load.
Analyze how to extract credentials by searching loaded data for keywords like username, user, login, pass, and password, using a keywords list and a for loop to print matches.
Extract host and path from HTTP requests to construct a URL, and discuss capturing username, password, and vulnerable login flows.
Practice debugging a Python-based packet sniffer and HTTP request workflow on a remote Windows machine, extracting URL and login info while handling errors.
Learn to run Python programs on Windows by installing Python, opening the command prompt, and executing an ARP spoofing script with Scapy.
Build a scapy-based packet sniffer and arp spoof detector to capture arp responses and detect arp activity on the network.
Detect ARP spoofing by verifying IP-to-MAC mappings using a get Mac function and Scapy sniffing, comparing real and response MACs, and flagging attacks when they differ.
Learn to build a basic keylogger by installing and importing the input keyboard module, creating a listener, and printing pressed keys to the terminal.
Explore building a basic keylogger in Python, using a global variable to accumulate keystrokes, convert them to strings, and plan sending logs via email or writing to a file.
Explore logging special keys in a Python program, handling spaces and other keys with try-except to avoid attribute errors, building log strings, and preparing to send logs via email.
Explore implementing a recursive reporting function with threading and a timer in Python, maintain a global log, and schedule periodic updates.
Practice object oriented programming in python by turning procedural code into a key logger class with self-referenced methods like report and start, including object creation and capitalized class names.
Learn to implement a Python constructor with __init__, manage internal state via self.log, and append keys to the log using an append method, preparing to send the log via email.
Learn to implement a Python email reporting feature, including a configurable time interval, SMTP email sending, and reporting keystroke logs via Gmail app passwords.
Explore how backdoors establish connections between a hacker's computer and a victim, comparing direct and reverse connections and illustrating capabilities like executing commands and transferring data.
learn to establish a reverse connection between two machines using python's socket module, open a port on the hacker machine with netcat, and connect the victim to that port.
Explore tcp socket programming by sending and receiving data between Windows and Kali Linux, encoding messages, and handling 1024-byte buffers to enable bidirectional data transfer.
Demonstrates remote execution of system commands from kali linux to windows, using a command function to run and return results, and establishes a loop to keep listening for new commands.
Implement a Python socket listener to replace netcat by binding to an IP address and port, listening for, accepting, and signaling a connection between Linux and Windows.
design and implement a server–client skeleton in Python using sockets, handling accept to obtain a connection and address, exchanging encoded commands and results, and illustrating a reverse backdoor workflow.
Refactor a Python listener class for remote command execution, introducing a constructor, self.ip, self.port, and self.connection, and an execute command remotely method to handle incoming connections.
Refactor the back door into a class named backdoor with a constructor and a run method to execute commands via self.connection and test dir, ipconfig, and who am I.
Learn to send commands as a list and implement an exit command by parsing input with split, checking the first element for exit, and closing the connection.
Implement a remote directory navigation system by serializing commands to json, sending them over a socket, and changing directories with os to return the new path.
Learn to download files from a victim computer using a Python backdoor, writing and reading binary files with open, wb and rb, and handling command results.
Demonstrates downloading diverse files from a hacked Windows machine using a simulated backdoor, and highlights buffer size and reliability in automated file transfer.
Learn how to package a Python program into a Windows executable using PyInstaller, producing a single-file app that runs without Python installed.
Package the program as a no console executable, hide the terminal, and ensure silent operation by redirecting std error and std in to dev null while handling input and output.
Explore persistence on Windows by auto-start techniques using the registry run key, demonstrating adding startup entries to launch programs like backdoors with reg scripts.
Explore creating a backdoor in Python, learn error handling, and implement persistence by copying a disguised executable to app data and enabling startup execution.
Explore the concept of a basic trojan that disguises as a normal file to execute a reverse backdoor and enable background access and data transfer.
Explores how a trojan can disguise as a pdf by embedding data in a program, packaging it with PyInstaller, and delivering it via a user-friendly file.
Explore how a generated executable can disguise itself with a pdf-like icon and perform background execution, illustrating trojan-like behavior and the process of converting images to ico icons.
Take Your Python Skills to the Advanced Level by Building Real-World Projects!
This course is designed for developers who already know the basics of Python and want to move into advanced, practical applications.
Instead of focusing only on theory, you will learn advanced Python concepts by building powerful real-world tools, including networking applications, system utilities, and cybersecurity-related projects.
What You Will Learn
Advanced socket programming in Python
File encryption and decryption
Building real-world Python applications
Network programming and packet analysis
Process automation and system control
Writing advanced scripts for security testing
Packaging Python programs into executables
Projects You Will Build
Remote system control tool
Network packet sniffer
ARP monitoring and detection tool
Keyboard input logger (for learning purposes)
Secure file encryption tool
Website blocker application
Who This Course Is For
Python developers ready to go beyond basics
Students who want real project experience
Anyone interested in networking and system programming
Developers exploring cybersecurity with Python
Requirements
Basic understanding of Python
Familiarity with functions and loops
A Windows or Linux system
Note
Some projects in this course are inspired by cybersecurity concepts and are taught strictly for educational and defensive purposes only.
Why This Course?
This is not a beginner course. It is designed to help you think like an advanced Python developer by working on real-world, practical problems and tools.