cover photo

COURSEWORK

Rohan's CL-CY-001 course work. Lv 2

Rohan ShalomAUTHORACTIVE
This Report is yet to be approved by a Coordinator.

CL - CY Level - 1 Report

29 / 3 / 2025


R Rohan Shalom - Level 1 Report


TASK 1: Socket.IO

In this task, I learned how to build a real-time chat application using Socket.IO, the Node.js framework, and HTML and CSS for the frontend. This provided insight into the functioning of web sockets and how they can be implemented effectively in chat applications.

GitHub Repository: RohChat

RohChat

Understanding WebSockets

WebSockets enable real-time, full-duplex communication between the client and server over a single persistent connection, unlike traditional HTTP, which follows a request-response model. This capability allows both client and server to send messages anytime.

Key Features of WebSockets:

  1. Handshake Signals: Establish the connection.
  2. Persistent Connection: Maintains a continuous connection.
  3. Message Exchange: Enables bidirectional data transfer.
  4. Closing the Connection: Ensures proper termination of communication.

Applications:

WebSockets are ideal for chat applications, live updates, collaborative document editing, IoT data streaming, and more.

Advantages:

  • Efficiency: Reduces overhead by maintaining a single connection.
  • Flexibility: Supports real-time communication.
  • Scalability: Handles high traffic effectively.

Challenges:

  • Complexity: Requires careful implementation to avoid security vulnerabilities.

TASK 2: Encryption Techniques - Secure Messaging App

Using the pycryptodome library, I developed a secure messaging app that encrypts user input into ciphertext and decrypts it back into plaintext. This task involved understanding cryptographic principles and implementing AES (Advanced Encryption Standard) encryption and decryption algorithms.

GitHub Repository: Crypto

Encrypt-Decrypt

Core Concepts in Cryptography:

  1. Ciphertext: Encrypted, unreadable data generated from plaintext.
  2. Tag: Ensures integrity and authenticity of the encrypted message.
  3. Nonce: Random value ensuring unique encryption results.
  4. Key: The secret value used for encryption and decryption.

Symmetric Key Cryptography:

  • A single key is used for both encryption and decryption.

Asymmetric Key Cryptography:

  • Uses a key pair: a public key for encryption and a private key for decryption.

How Prime Numbers are Used in RSA:

  1. Select Two Large Primes: p and q.
  2. Compute n: n = p × q.
  3. Calculate φ(n): Euler's Totient: φ(n) = (p-1) × (q-1).
  4. Choose e: Public key exponent satisfying 1 < e < φ(n) and gcd(e, φ(n)) = 1.
  5. Compute d: Private key exponent satisfying e × d mod φ(n) = 1.
  6. Keys: Public key (e, n) and private key (d, n).

TASK 3: IaaS, PaaS, and SaaS

What is Cloud Computing?

Cloud computing involves delivering computing services over the internet rather than storing them locally. These services include storage, databases, networking, software, and analytics.

Cloud services are categorized into three models:

  1. IaaS: Infrastructure as a Service
  2. PaaS: Platform as a Service
  3. SaaS: Software as a Service

1. IaaS (Infrastructure as a Service)

IaaS provides IT infrastructure (e.g., compute, storage, networking) on a pay-as-you-go basis.

IaaS

Key Features:

  • Resources: Virtualized CPUs, GPUs, RAM, and storage.
  • Monitoring: Includes performance tracking and security measures.
  • Automation: Handles tasks like backups and load balancing.

Benefits:

  • Speed: Rapid provisioning of resources.
  • Performance: Geographically distributed data centers reduce latency.
  • Reliability: Supports backups and disaster recovery.
  • Scalability: Easily scales resources as needed.

Use Cases:

  • High-performance computing, website hosting, big data analytics, and app development.

2. PaaS (Platform as a Service)

PaaS simplifies application development by providing tools, databases, and frameworks on a managed platform.

PaaS

Key Features:

  • Prebuilt connectors for integrations.
  • Supports custom workflows with data transformation capabilities.

Benefits:

  • Automation: Reduces manual tasks.
  • Scalability: Adapts to large system requirements.
  • Ease of Use: User-friendly tools with robust security features.

Use Cases:

  • Automating workflows, keeping data synchronized, and connecting disparate systems.

3. SaaS (Software as a Service)

SaaS provides software applications hosted by vendors and accessed via browsers. It eliminates the need for infrastructure or software maintenance.

SaaS

Key Features:

  • Hosted applications accessed via login.
  • Operates on a multi-tenant model.

Benefits:

  • Accessibility: Available from any internet-enabled device.
  • Cost Efficiency: Reduces upfront and maintenance costs.
  • Automatic Updates: Ensures the software is up-to-date.

Use Cases:

  • Gmail, Google Drive, Salesforce, Zoom, Shopify, QuickBooks, and Netflix.



TASK 4: OSI Model

The OSI model is a framework that outlines how data is transmitted across networks. It is divided into seven layers, each with specific responsibilities, enabling smooth and efficient data communication between systems.

The Seven Layers of the OSI Model:

  1. Application Layer: Provides the interface for user applications like web browsers and cloud services (e.g., Gmail, AWS).
  2. Presentation Layer: Formats data for applications, handles encryption and compression (e.g., HTTPS securing websites).
  3. Session Layer: Manages connections between devices, ensuring stable communication (e.g., video calls).
  4. Transport Layer: Ensures reliable data transfer through packetization (e.g., TCP for messages).
  5. Network Layer: Routes data using IP addresses, like a GPS for the internet.
  6. Data Link Layer: Manages data flow within the network and fixes errors, acting like a traffic controller.
  7. Physical Layer: Handles hardware and signals, like cables or Wi-Fi.

Analogy: OSI Model and Online Shopping

  • Physical Layer: Delivery trucks and roads.
  • Data Link Layer: Package labeling (e.g., barcodes).
  • Network Layer: Routing to the delivery address.
  • Transport Layer: Secure and tracked delivery.
  • Session Layer: Stable website connection.
  • Presentation Layer: User-friendly display and secure payment.
  • Application Layer: The e-commerce platform (e.g., Amazon).

OSI


TASK 5: Version Control

Version control helps manage changes to files over time, ensuring collaboration and tracking modifications effectively.

Basic Git Commands:

  1. git branch:
    • Used to create, switch, or delete branches for independent work.
  2. git merge:
    • Combines changes from one branch into another, preserving histories. Branch
  3. git revert:
    • Reverses changes by creating a new commit that undoes a previous commit.
      Revert
  4. git cherry-pick:
    • Applies changes from a specific commit to the current branch without merging the entire branch.
      Cherry-Pick

TASK 6: IP Addressing and Web Scraping

Using the Beautiful Soup library in Python, I scraped syllabus details for the CL-CY domain from the Marvel UVCE website. The data was extracted and saved in a CSV file.

Code and Output:

Code BS4
CSV


TASK 7: Kali Linux and Nmap

Nmap is a powerful tool in Kali Linux for exploring and analyzing networks. I used it to scan IPs and ports, check services, detect OS versions, and more.

Scans Performed:

  1. SYN Scan (-sS):
  • Open port: Replies with SYN-ACK.
  • Closed port: Replies with RST.
  • No response: Port is filtered (firewall).
  1. Nmap Commands Learned:
  • -sS: SYN scan.
  • -sP: Ping scan.
  • -A: Aggressive scan.
  • -Pn: No ping.
  • -iL: Input list.
  • -6: IPv6 scan.
  • -sn: Host discovery (no port scan).
  • -p: Specify ports.

Results:

  • Scanned ports, addresses, OS versions, and traceroute info were displayed in an HTML report.
  • All IPv4 addresses were found to be filtered (protected by firewalls).

Scanned Ports
Example


UVCE,
K. R Circle,
Bengaluru 01