Workshop overview
- This workshop explores network programming in the Python language.
- We’ll explore networking concepts, protocols and translate these into practical network programming.
- We’ll cover basic concepts, modules & third-party libraries in Python to communicate over networks.
- We’ll take a bottom-up approach i.e. starting from socket API up until using high level libraries like Requests.
- Difference between Python2.x & Python3.x with regards to network code.
Concepts covered
- Scripts to communicate over HTTP, DNS, SSH, Telnet, FTP and SFTP.
- Writing simple web scrapers.
- Automating various system administration tasks.(Managing SSH sessions, Querying web services)
- Managing Network data and handling network errors.
Skill prerequisites
- Basics of Python programming. (strings, lists, dicts, functions, files etc)
- Knowledge of basic networking concepts. (Enough to know what an IP address, port number, OSI model etc.)
Technical prerequisites
- Laptop with administrator access (mandatory).
- Minimum 2 GB RAM and 15 GB free hard disk space (More the better).
- Preferably running Linux as primary OS but Windows/Mac is permissible.
- Preferably, your own Internet connectivity.
Libraries/Modules
- Standard library
- urllib, urllib2, pexpect, telnetlib, ftplib, sys, os, getpass.
- Third party modules
- requests, paramiko, pxssh, netaddr, netifaces, dnspython