Python Network Programming

Introduction

Network programming has always been a demanding task. With full-featured and well documented libraries all the way up the stack, Python makes network programming the enjoyable experience it should be.

Starting with a walkthrough of today’s major networking protocols, this Python Network Programming course will show you how to employ Python for network programming, how to request and retrieve web resources, and how to extract data in major formats over the Web. You’ll utilize Python for e-mailing using different protocols and you’ll interact with remote systems and IP and DNS networking.

Course Objectives:

  • Networking technologies
  • Python network programming
  • HTTP protocol
  • Email protocol
  • API
  • FTP and SFTP
  • IP and DNS
  • Python Socket Programming
  • Client Server Applications

Duration

7 hours, 1 Day Course

Mode of Delivery

Classroom-based, Instructor-led Training

Course Outline

  1. Networking Programming and Python
    1. Introduction to TCP/IP networks
    2. Python for network programming
  2. HTTP and Working with Web
    1. Request and Response with urllib
    2. Response objects
    3. Status codes
    4. HTTP headers
    5. Customizing requests
    6. Content negotiation
    7. User agents
    8. Cookies
    9. Redirects
    10. HTTP/HTTPS methods
    11. Request library
  3. Email
    1. Email technologies
    2. Sending emails with SMTP
    3. Sending emails securely with TLS
    4. Receiving emails by POP3 with poplib
    5. Receiving emails by IMAP with imaplib
    6. Sending email attachments
  4. API
    1. XML
    2. JSON
    3. HTML scraping
  5. Working with Remoting Systems
    1. Secure shell access using Python
    2. Transferring files through SFTP
    3. Transferring files through FTP
    4. Fetching simple network management protocol
    5. Reading light weight directory access protocol
    6. Sharing with SAMBA
  6. IP and DNS
    1. Retrieving network configuration
    2. Manipulating IP addresses
    3. GeoIP lookup
    4. NTP clients
  7. Programming with Sockets
    1. Basics of sockets
    2. Working with TCP sockets
    3. Working with UDP sockets
    4. TCP port forwarding
    5. Non blocking socket I/O
    6. Securing socket with TLS/SSL
  8. Client Server Applications
    1. Client and Server
    2. Echo protocol
    3. Simple echo server
    4. Concurrent I/O
    5. Multithreading and multiprocessing
    6. Multithreaded echo server
    7. Designing a chat server
    8. Chat protocol
    9. Persistent connection
    10. Multithreaded chat server & client
    11. Event based chat client