cover photo

COURSEWORK

Varsha's CL-CY-001 course work. Lv 1

Varsha Shubhashri.MAUTHORACTIVE
This Report is yet to be approved by a Coordinator.

Documentation-CLCY-Level-1

10 / 11 / 2024


Task 1: Linux Based Task with Socket.io

A simple real-time chat application built with Node.js and Socket.io. This application allows users to send and receive messages instantly without needing to refresh the page.

Technologies Used

  • Node.js: JavaScript runtime for building the server.
  • Express: Web framework for Node.js to handle HTTP requests.
  • Socket.io: Library for enabling real-time communication between clients and the server.
  • HTML/CSS: For the front-end user interface.
    image (code)[

Task 2: Git Bash and GitHub

Git

Git is a distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It allows multiple people to work on a project simultaneously without interfering with each other’s work.

GitHub

GitHub is a web-based platform that uses Git for version control and provides additional features for collaboration, project management, and code hosting.

Git Bash

Git Bash is a command line interface for Git on Windows. It provides a Unix-like shell environment and allows you to use Git commands as well as bash commands.

Useful Commands

  • git init: Initializing a repository.
  • git remote add origin [url]: adds a new remote repository.
  • echo "[file name]": used to display messages, or to create and write to files.
  • *git add .:*to stage changes in your working directory for the next commit.
  • git commit: Record the current state of the files in your project.
  • git clone [url]: Clone an existing repository.
  • git status: Check the status of your working directory.
  • git pull: Fetch and merge changes from the remote repository.
  • git push: Push your commits to the remote repository.
  • git branch: List all branches or create a new branch.
  • git checkout [branch-name]: Switch to a different branch.
    image image

Code

Task 3: OSI MODEL

The Open Systems Interconnection (OSI) model describes seven layers that computer systems use to communicate over a network.
OSIModel drawio (1)

Recieving data - bottom up approach
Transmitting data - top down approach

OSI Model Layers Overview

  1. Physical Layer: Manages physical connections between devices, using cables or wireless technology, and transmits raw binary data (0s and 1s) with bit rate control.

  2. Data Link Layer: Establishes connections between directly connected devices, breaking data into frames. It includes Logical Link Control (LLC) for error checking and Media Access Control (MAC) for device addressing.

  3. Network Layer: Routes data by breaking it into packets and finding optimal paths across networks using IP addresses.

  4. Transport Layer: Segments data for transmission and reassembles it on arrival. It handles flow and error control to ensure accurate delivery.

  5. Session Layer: Opens, manages, and closes communication sessions between devices, enabling checkpointing to resume interrupted data transfers.

  6. Presentation Layer: Prepares data for the application layer by encoding, encrypting, and compressing it for secure and compatible transmission.

  7. Application Layer: Interfaces with user applications like browsers and email, using protocols like HTTP, FTP, SMTP, and DNS for data exchange.

Task 4: Encryption Techniques

Cryptography is the act of using codes or ciphers to protect secrets. Encryption techniques are methods of securing data by converting it into unreadable formats that can only be reverted by authorized users. Common techniques include:

Symmetric Encryption: Uses a single key for both encryption and decryption (e.g., AES, DES).
Asymmetric Encryption: Uses a public key for encryption and a private key for decryption (e.g., RSA).
Hash Functions: Generates a fixed-size hash value from data, often for verifying integrity (e.g., SHA-256).
image
code

Task 5: IP Addressing and Protocols

An Internet Protocol (IP) address is the unique identifying number assigned to every device connected to the internet. Web scraping is an automatic method to obtain large amounts of data from websites. Most of this data is unstructured data in an HTML format which is then converted into structured data in a spreadsheet or a database so that it can be used in various applications. Beautiful Soup is a Python package for parsing HTML and XML documents, including those with malformed markup. It creates a parse tree for documents that can be used to extract data from HTML, which is useful for web scraping.
image

Code

Task 6: Kali Linux and SSH

Kali Linux is a Linux distribution designed for digital forensics and penetration testing. It is maintained and funded by Offensive Security. The software is based on the Debian Testing branch: most packages Kali uses are imported from the Debian repositories.
Penetration testing, often referred to as pen testing, is a critical practice in the field of cybersecurity.
SSH (Secure Shell) is a protocol used to securely access remote machines over a network. It encrypts data sent between the client and server, providing a secure way to manage servers, transfer files, or execute commands remotely. The Secure Shell (SSH) protocol is a method for securely sending commands to a computer over an unsecured network.
image

Task 7: Databases

Setting up a MySQL database and creating a simple CRUD (Create, Read, Update, Delete) application using Node.js helped get familiarize with database management and querying. image

image
image

UVCE,
K. R Circle,
Bengaluru 01