This repository contains a collection of computer networking projects, showcasing various concepts and practical implementations in networking. Below is a list of the projects included:
client.py
server.py
A simple chat application demonstrating client-server communication over TCP sockets.
graph.py
A tool for visualizing the shortest path computation using Dijkstra's algorithm.
dns.py
A script to resolve domain names to IP addresses, demonstrating the working of DNS queries.
h.py
index.html
A basic implementation of an HTTP server to serve web pages.
tcp.py
A program to estimate the bandwidth of a network connection by measuring the time taken to send a known amount of data.
oe.py
A packet-sniffing tool to capture and analyze network traffic at a low level.
net.py
An application to monitor and display network traffic statistics.
vpn_client.py
vpn_server.py
open.bash
A secure client-server communication system demonstrating the use of SSL/TLS for encryption.
To get started with these projects, clone this repository to your local machine using the following command:
git clone https://github.com/GZ30eee/CN.git
cd CN
These projects use Python and several external libraries. Install the required libraries using pip
:
pip install -r requirements.txt
If the requirements.txt
file is not present, manually install the following libraries:
pip install scapy networkx matplotlib
Optional Libraries (depending on the project):
- For SSL/TLS-based projects: SSL (built-in) and
pyOpenSSL
- For Packet Sniffing: Requires elevated privileges (use
sudo
on Linux or run as Administrator on Windows).
Each project can be executed individually. Navigate to the respective directory or run the script directly, for example:
python client.py
python server.py
For other projects, read the inline comments or documentation in the code for specific instructions.
Feel free to fork this repository, make your changes, and submit a pull request. Contributions are always welcome!
This repository is open-source and available under the MIT License.