Krishna Prasad's Level 2 report
17 / 5 / 2026
Task1: AWS Lambda:
AWS Lambda is one of many services provided by Amazon Web Services. Using Lambda developers can execute code without needing to provision or manage servers. It follows and event driven architechure, where fucntions(Lambda function) are triggered in response to specific events such as HTTP request, file upload , database updates, etc...AWS Lambda is a Function-as-a-Service (FaaS) platform.
For this task i created a chat application using AWS Lambda and API gateway services. The following Lambda functions were developed to handle different stages of communication in the chat application:
- websocket-connect
- Triggered when a client connects to the WebSocket API
- Establishes a connection between client and server
- Stores connection details if required
- websocket-disconnect
- Triggered when a client disconnects
- Removes or cleans up connection data
- Ensures efficient resource management
- chat-handler
- Core logic of the chat application
- Processes incoming messages from users
- Generates appropriate responses
- Implemented using Node.js runtime
- websocket-send
- Responsible for sending messages back to clients
- Handles outgoing communication
- Ensures real-time message delivery
How this works
- the user sends a request to the API gateway whilst interacting with the frontend
- API gateway receives the request and forwards it to the lambda function which is intended to be used
- Lambda function sends response to the user through API gateway.
.png?raw=true)
Task 2: CI/CD Pipeline using Jenkins
CI/CD is a modern software development practice that enables developers to automate integration and deployment processes. It combines CI(Continuous Integration) which involves automatically building and testing whenever changes are pushed and CD(Continuous Delivery) ensures the application is automatically deployed after the CI is successfully completed.
The objective of this task was to understand and implement a Continuous Integration and Continuous Deployment (CI/CD) pipeline using Jenkins. The pipeline automates the process of fetching code, building the application, and deploying it to a production environment.
The basic architecture goes like this:
GitHub Repository → Jenkins Pipeline → Docker (Node Environment) → Build → Vercel Deployment → Live Application
I pulled Jenkins using docker through WSL and required plugins such as Docker Pipeline were installed. Once the setup was completed I was able to open Jenkins. It was accessed through localhost. After creating my account I created a new pipeline and started writing the pipeline script. Once I completed the scripting part I ran the build , i ran into some errors before the build finally passed successfully. I learnt a lot of new things from failed builds and understood by reading the output terminal.
Finally when the CI part was sorted the CD automatically deployed it on vercel and the webapp was up and running.
.png?raw=true)
TASK 4: Terraform
Terraform is an open-source Infrastructure as Code (IaC) tool developed by HashiCorp. It enables users to define, provision, and manage infrastructure using a declarative configuration language.
Instead of manually creating resources through cloud consoles, Terraform allows automation using code. This improves consistency, reduces human error, and enables easy and hassle free collaboration within a team. Terraform interacts with cloud providers such as AWS, Google Cloud, Microsoft Azure, etc.... Terraform connects to the cloud providers through API making it highly flexible and platform independent.
Flow of Terraform Execution:
The process begins by defining infrastructure using Terraform configuration files (.tf files).
terraform.tf→ Defines required providers and Terraform settingsmain.tf→ Contains infrastructure (VPC, subnets, EC2, etc.)variables.tf→ Stores input variablesoutputs.tf→ Defines output values
These files collectively describe the desired state of the infrastructure.
commands used:
terraform init: During initialization Terraform downloads the AWS provider from HashiCorp registry Required modules (like VPC module) are installed Backend (local or cloud) is configured. This step prepares Terraform to interact with Amazon Web Services APIs.
terraform validate: This checks the for logical errors in the code, checks syntax and ensures the code runs errorless before execution.
terraform plan: Here Terraform Reads configuration files and compares with current state (terraform.tfstate) and finally Generates an execution plan.
Eg: creating VPC, subnets or creating EC2 instance
terraform apply: This is the execution phase .Terraform sends API requests to AWS , AWS provisions resources (VPC, subnets, etc.) A state file (terraform.tfstate) is updated. This is wher infrastructure goes live. Whenever you modify the configuration this command must me used to update the changes.
terraform destroy: Terraform reads the state file and identifies all managed resources then sends delete requests to AWS. finally after the command is ran the created infrastructure is removed.
.png?raw=true)
TASK 10: NMap
Nmap (Network Mapper) is an open-source tool used for network discovery and security auditing. It is widely used by system administrators and cybersecurity professionals to identify active hosts, open ports, services, and operating systems in a network. Nmap works by sending specially crafted data packets to see how target systems respond and analyse the data received.
For this task I logged into Kali Linux from the VirtualBox. I pentesed the host windows system, to make the virtual machine a distinct machine from windows i selected the network adapter to bridged adapter. Then I opened the Linux terminal(command line) and started pentesting on the ip of the windows system.
Fristly I tried to check check if the host is alive or responding, for this purpose I used ping . This command ran successfully and we can see that the target IP is responding.

for port scanning I used nmap -sS -T4 192.168.56.1. This performs a SYN(stealth) scan and -T4 is used for faster execution. Ports are of three states based on the response of the target IP
If it replies
- SYN-ACK - Open port
- RST - Closed port
- null - filtered ports
open ports actively accept connections, A closed port is reachable BUT no service is listening and A filtered port is being blocked by a firewall.
I used nmap -sV 192.168.56.1 for service detection. By running this command I could clearly identify services running on open ports and detect service versions
Some important PORTS are:
445 : SMB
These are big targets
File sharing, Network communication, Historically vulnerable (e.g., EternalBlue)
This is usually the first thing pentesters look at.
3306 : MySQL
This means:
A database server is running Might allow: Weak passwords and remote access
3389 : RDP
Remote Desktop Protocol
Allows remote login to Windows , Huge attack surface: Brute force, Credential attacks

Observation
- SMB (445) was open but did not reveal data due to authentication
- RPC (135) available for communication
- NetBIOS (139) exposed legacy services
- HTTP API (3380) identified as potential entry point
.jpeg?raw=true)
TASK 5: Wireshark
Wireshark is a network packet analyzer used to capture, inspect, and troubleshoot data being transmitted across a network. It allows users to monitor traffic over different network interfaces such as Wi-Fi and Ethernet.
Wireshark provides detailed insights into how data flows across a network and how different protocols operate.
2. Working of Wireshark
To verify that Wireshark is functioning correctly:
- Start packet capture
- Open a web browser and search for any website
- Observe packets being captured in real time
This confirms that network traffic is being monitored successfully.
3. Filters in Wireshark
Filters are essential for efficient packet analysis.
Capture Filters
- Applied before capturing packets
- Capture only specific traffic
Display Filters
- Applied after capturing packets
- Hide unwanted packets and show relevant ones
Examples
tcp dns ip.addr == 192.168.56.1
Logical Operators
- AND
- OR
- NOT (
!=)
4. Important Features in Wireshark
Statistics Menu
Used to analyze traffic patterns:
- Capture summary
- Conversations
- Endpoints
- Packet lengths
Flow Graph
- Visual representation of packet communication
- Helps understand request-response flow
TCP Stream Graphs
Used to analyze:
- Latency
- Throughput
- Packet behavior
5. Key Networking Concepts
DHCP (Dynamic Host Configuration Protocol)
- Assigns IP addresses dynamically to devices on a network
TCP Three-Way Handshake
- Client → SYN → Server
- Server → SYN,ACK → Client
- Client → ACK → Server
Establishes a reliable connection between client and server.
Connection Reset (RST Packet)
- If the server sends an RST (Reset) packet
- It indicates that the connection has failed or was rejected
6. Observations
- Network traffic was successfully captured using Wireshark
- Filters helped isolate specific protocols
- TCP communication patterns were observed
- Three-way handshake process was identified
- RST packets indicated failed or rejected connections
- Retransmissions and duplicate acknowledgments may indicate packet loss or congestion
7. Conclusion
Wireshark is a powerful tool for analyzing network traffic and understanding communication between systems. It helps in identifying network issues, analyzing protocols, and detecting anomalies in packet flow.

Click here to view the report of remaining tasks
