Internet protocols TCP, HTTP, and DNS in Python

Written for Internet Technology 01:198:352 at Rutgers University

Received a 100% on each

TCP Congestion Control

An insecure TCP connection using UDP to transfer a large file.
Utilizing both stop and wait sliding window.
Additional options for packet and acknowledgement drop.

Github


Code can be found here

DNS Query

Using TCP to query google DNS server using a hand written DNS query.
Program connects to a client which sends a file with domain names, then translates them into DNS record format and queries DNS.
The result set of IP addresses, without CNAME records is saved to a subsequent file.

Github


Code can be found here

HTTP Server

Implementing a web server and cookies using sockets and HTTP protocol.
The program opens a socket and shows a login page with working cookies.

Github


Code can be found here

Simple TCP Connection

A TCP connection using sockets.
The server program creates a connection to the client and sends a file of strings.
Server reverses the strings and sends them back, and finally the client writes them to a result file.

Github


Code can be found here