Welcome to the Network Programming Lab Exercises repository! This repository is a collection of Python scripts and related files for a variety of network programming exercises. Whether you are a student learning the fundamentals of network programming or a developer looking to explore and practice networking concepts, you'll find these exercises valuable in enhancing your skills.
In this repository, you will find a diverse set of network programming exercises, including:
- ARP and RARP Protocol Implementations
- TCP and UDP Socket Programming
- File Transfer Protocols
- Chat Servers
- Sliding Window Protocols
- SNMP (Simple Network Management Protocol) Client and Server
- And more!
Each exercise is designed to provide practical experience in various aspects of network communication and data exchange.
arp-protocol.py
andarp-rarp.py
: ARP and RARP protocol implementations.tcp_chat_client.py
andtcp_chat_server.py
: TCP-based chat client and server.udp_chat_client.py
andudp_chat_server.py
: UDP-based chat client and server.tcp_echo_client.py
andtcp_echo_server.py
: TCP-based echo client and server.udp_echo_client.py
andudp_echo_server.py
: UDP-based echo client and server.tcp_filetransfer_client.py
andtcp_filetransfer_server.py
: TCP-based file transfer client and server.- And many more!
Explore each exercise to improve your networking skills.
You can clone this repository to your local machine to access the exercises. Each exercise is self-contained, and you can run the Python scripts to experiment with different aspects of network programming.
git clone https://github.com/selcia25/network-programming-lab.git cd network-programming-lab python file_you_want_to_execute.py
Make sure to read the instructions provided within each exercise file for specific details on usage.
If you'd like to contribute to this repository by adding new exercises, improving existing ones, or providing better documentation, please feel free to open a pull request. Your contributions are welcome and appreciated!
This repository is open-source and available under the MIT License. Feel free to use, modify, and distribute the contents in accordance with the license terms.
Happy network programming!