TCP Proxy
Computer Networking ● Software Development ● Python
Role
Student Programmer
Organization
Computer Networks — UC Davis
Tools Used
Python, Socket API, JSON
Home / Technical Projects / TCP Proxy
A systems-level programming project to simulate client-server interaction using a proxy. Designed to demonstrate understanding of socket communication and network request handling.
Background
This project was made during my Computer Networks class at UC Davis which implements a ping-pong client-server model using TCP sockets with an intermediate proxy server. Instead of direct communication between the client and server, all messages must pass through the proxy.
Overview
The client sends a 4-character string (not limited to just "ping" or "pong") to the proxy.
The proxy forwards the request to the destination server (unless the server's IP is blocklisted).
The server responds to the message.
The proxy forwards the response back to the client.
Requirements
The project successfully demonstrated real-time, routed communication via a custom-built TCP proxy. The server responded accurately to various client inputs, and blocklisted IPs were correctly handled. This served as a foundation for understanding packet routing and network security basics.
Outcome
Artifact