Python for Ethical Hacking

  1. Core Networking with Python
    1. Socket Programming Fundamentals
      1. Understanding Network Sockets
        1. Socket Concepts and Types
          1. Socket Addressing Schemes
            1. Protocol Families
            2. TCP Socket Programming
              1. TCP Socket Creation
                1. TCP Client Implementation
                  1. TCP Server Implementation
                    1. Connection Management
                      1. Error Handling in TCP
                      2. UDP Socket Programming
                        1. UDP Socket Creation
                          1. UDP Client Implementation
                            1. UDP Server Implementation
                              1. Connectionless Communication
                                1. UDP vs TCP Considerations
                              2. Network Data Handling
                                1. Data Transmission Mechanics
                                  1. send and recv Methods
                                    1. sendall and recvall Patterns
                                      1. Handling Partial Transmissions
                                        1. Buffer Management
                                        2. Data Encoding and Decoding
                                          1. Bytes vs Strings in Network Programming
                                            1. Character Encoding Schemes
                                              1. Binary Data Handling
                                                1. Protocol-Specific Encoding
                                              2. Network Address Management
                                                1. IP Address Handling
                                                  1. IPv4 Address Structure
                                                    1. IPv6 Address Structure
                                                      1. Address Validation
                                                        1. Address Conversion
                                                        2. Hostname Resolution
                                                          1. DNS Lookup Operations
                                                            1. Forward DNS Resolution
                                                              1. Reverse DNS Resolution
                                                                1. DNS Caching Considerations
                                                                2. Port Management
                                                                  1. Port Number Ranges
                                                                    1. Well-Known Ports
                                                                      1. Dynamic Port Allocation
                                                                        1. Port Scanning Considerations