You may want to read How Colab Notebooks Work. Two useful tricks:
- If you do not understand what a certain Linux/Windows command does, ChatGPT is usually very helpful (see this example).
- It may be useful, for readability, to remove the output of previous command executions: "
Edit-->Clear all outputs".
List of notebooks
1 - Introduction
2 - DNS
- Playing with DIG - Client. This notebook shows the usage of Linux commands for emulating the DNS traffic generated by an endpoint An endpoint never navigates in the domain tree.
- Playing with DIG - Server. This notebook shows the usage of Linux commands for emulating the DNS traffic generated by a name server. A name server navigates in the domain tree starting from the name servers of the root zone.
- Understanding DNS traffic This notebook analyzes real DNS traffic with the Python Scapy library. The aim is, again, understanding the difference between the DNS traffic generated by an endpoint and the DNS traffic generated by a name server; and, realize that although this course might appear difficult, real networks are much more difficult.
3 - Web
4 - Email
5 - IP
6 - Network Security
The notebooks are all based on the
openssl command. This command is very powerful and, as such, quite complex (have a look at the man page, if you want).
You may ask a detailed explanation of each command to ChatGPT, as in this example.
Follow order and "timing" suggested in the lectures (i.e., look at any given notebook not earlier than suggested in the slides).