This Report is yet to be approved by a Coordinator.
Level 2 Report
29 / 10 / 2024
Task 1: Basic Chat Application Using Node.js and Socket.io
A simple real-time chat app using Node.js and Socket.io allows multiple users to send messages simultaneously. Each user is assigned a unique ID, and messages are broadcast in real-time to all participants.
- Node.js: A JavaScript runtime built on Chrome's V8 engine, known for its event-driven, non-blocking I/O model that supports high performance.
- Socket.io: Facilitates real-time, bi-directional communication, adding features like automatic reconnection and cross-browser compatibility, making it ideal for group communication.
- Hosting: The client side uses the Live Server extension, while the server side is run in development mode, offering hot reloading and debugging.
- Functionality: Users are assigned unique IDs, and their messages are broadcast in real time, creating an interactive chat experience.
Task 2: Introduction to Git Bash and GitHub
- Git Bash: A Unix-like command-line tool for Windows, providing an environment to use Git commands and Unix tools. It simplifies scripting and Git operations, making version control easier for developers accustomed to Linux systems.
- Common Commands:
git init
,git clone
,git add
,git commit -m ""
, andgit push
. - GitHub: A web-based platform for hosting repositories. It supports collaboration, version control, issue tracking, code reviews, and branching/merging to manage code efficiently.
- Importance: Essential for collaborative projects, GitHub allows remote access, version history, and simplifies team contributions.
Task 3: Understanding the OSI Model
The OSI Model standardizes network communication into seven layers: Application, Presentation, Session, Transport, Network, Data Link, and Physical.
- Purpose: Simplifies networking concepts, aids in troubleshooting, and ensures interoperability between devices.
- Key Layers:
- Application: Interfaces with software, handling user services (HTTP, FTP).
- Transport: Ensures reliable data transfer (TCP, UDP).
- Network: Manages routing and logical addressing (IP).
- Physical: Handles the transmission of raw data (cables, hubs).
- Importance: Though the TCP/IP model is more common, the OSI Model is fundamental in understanding network protocols and troubleshooting.
Task 4: Kali Linux and SSH
- Kali Linux: A Debian-based OS for penetration testing, preloaded with tools like Nmap and Wireshark for cybersecurity tasks. It supports extensive hardware, is open-source, and is customizable for different needs.
- SSH (Secure Shell): A secure protocol for remote access and data transfer, offering encryption, secure tunneling, and key-based authentication. It’s critical for safely managing remote servers.
- Nmap: A versatile tool for network scanning, detecting open ports, operating systems, and services. Essential for network audits and security assessments.
- Use Case: Kali and SSH are key for ethical hacking, with SSH facilitating secure connections and Kali providing a rich testing environment.
Task 5: IP Addressing and Protocols
- IP Addressing: Uniquely identifies devices on a network. IPv4 (32-bit) is widely used, while IPv6 (128-bit) addresses the growing need for IP addresses.
- TCP/IP Model: The backbone of internet communication, split into four layers: Link, Internet, Transport, and Application. TCP manages reliable data transfer, while IP handles addressing and routing.
- Web Scraping: Tools like Beautiful Soup in Python simplify data extraction from HTML/XML files. It’s powerful, easy to use, and integrates seamlessly with requests for efficient scraping.
Task 6: Encryption Techniques
- Encryption: Protects data by converting it into an unreadable format.
- Symmetric Encryption: Uses the same key for encryption and decryption. AES is secure and fast, while DES is outdated and vulnerable.
- Asymmetric Encryption: Utilizes a key pair (public and private) for secure communication, exemplified by RSA. It’s essential for data transmission and digital signatures.
- Hashing: Generates fixed-size outputs from variable-length input data. SHA-256 is reliable, whereas MD5 is outdated. Hashing is crucial for data integrity and secure password storage.
Task 7: Databases
- Databases: Organize and manage structured data efficiently. MySQL is a popular open-source relational database that offers high performance, security, and cross-platform support.
- CRUD Operations: The backbone of database management:
- Create: Add new data.
- Read: Retrieve data.
- Update: Modify existing records.
- Delete: Remove records.
These operations enable effective data management and are fundamental in software applications.