JSPM’s
JAYAWANTRAO SAWANT POLYTECHNIC,
Handewadi Road, Hadapsar, Pune-28
Department of Computer Engineering
Academic Year 2024-25
MICRO PROJECT
IP Finder
Program: CO Program code: CO6I
Course: PWP Course code: 22616
Class: TYCO-3 Group No: O
Project Guide: Mr. B. L. Nirmal
1
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
Certificate
This is to certify that Shrinath Bhandare, Soha Jamadar, Hrutik Apegaonkar, Gauri Navle of V
Semester of Diploma in Computer Engineering of Institute Jayawantrao Sawant Polytechnic
(Code: 0711) has completed the Micro Project satisfactorily in Subject PWP (22616) for the
academic year 2024- 2025 as prescribed in the curriculum.
Place: Hadapsar, Pune. Enrollment No: 2207110601
2207110806
2207110807
2207110808
Date: …………….. Exam Seat No: -------------------------
Subject Teacher Head of the Department Principal
2
MICRO PROJECT
GROUP DETAILS
Roll Enrollment
Sr No. Name Seat No.
No. No.
1 150 Shrinath Bhandare 2207110601
2 169 Soha Jamadar 2207110806
3 170 Hrutik Apegaonkar 2207110807
4
171 Gauri Navle 2207110808
3
INDEX
Sr No. Content Page No.
1 Certificate 2
2 Group Details 3
3 Index 4
4 Annexure IA (part A) 5
5 Introduction 6
6 Concepts 7
6 Code and Output 8
7 Conclusion 11
8 Annexure II A (Part B) 12
9 Annexure IV (Teachers Evaluation Sheet) 14
4
JSPM’s
JAYAWANTRAO SAWANT POLYTECHNIC, Handewadi Road,
Hadapsar, Pune-28
Department of Computer Engineering
Academic Year 2024-25
Title of Micro project: IP Finder
1.0 Brief Introduction:
The IP Finder project is a Python-based tool that allows users to retrieve public and private IP addresses, fetch
geolocation details of any IP address, find the IP address of a domain, and visualize the IP location on a map. This
project is useful for networking professionals, cybersecurity analysts, and developers who need to track IP information
quickly.
2.0 Aim of Micro Project:
The aim of this IP Finder Micro Project is to develop a Python-based application that allows users to retrieve and
analyze IP addresses efficiently. This project focuses on providing real-time IP tracking, geolocation details, and
domain resolution, along with an interactive map visualization.
3.0 Action Plan (Sequence and time required for major activities for 8 week)
Sr. Details of activity Planned start Planned Finish Name of Responsible
No date date Team members
1 Collecting the information of 31/1/2024 5/2/2024 1.Shrinath Bhandare
view 2.Soha Jamadar
2 Sorting the information of view 14/2/2024 21/2/2024 3.Hrutik Apegaonkar
3 Compilation of the project 11/3/2024 20/3/2024 4.Gauri Navle
4 Submission of the project 4/4/2024 4/4/2024
4.0 Resources required (major resources such as raw material, some machining facility, software
etc.)
Sr. Name of resource / Specification Quantity Remarks
NO material
1 Laptop Windows 10 1
2 VS Code Version 3.8 1
5
Introduction
• The IP Finder project is a Python-based application designed to retrieve, analyze, and visualize IP
address information. Internet Protocol (IP) addresses are essential for communication over the internet,
identifying devices, and tracking online activities. This project helps users find their public and private
IP addresses, obtain geolocation details of an IP, resolve domain names to IP addresses, and display
the IP location on an interactive map.
• With increasing concerns about cybersecurity, networking, and internet privacy, knowing the details of
an IP address can be crucial for system administrators, developers, and researchers. The project provides
real-time information such as the country, city, ISP (Internet Service Provider), latitude, and longitude
of an IP address. This information is useful for network diagnostics, website troubleshooting, and tracking
potential cyber threats.
• The IP Finder project is implemented using Python and integrates various libraries to achieve its
functionality. The requests module is used to fetch real-time IP details from an API, while socket is used
to obtain local and domain IP addresses. A Graphical User Interface (GUI) is developed using Tkinter
to make the application user-friendly. Additionally, folium and tkintermapview are used to generate an
interactive map showing the exact location of the provided IP address.
• This project is lightweight, efficient, and easy to use, making it a valuable tool for students, networking
professionals, and cybersecurity enthusiasts. It allows users to input an IP address or domain name and
quickly retrieve relevant details. Moreover, its ability to display the location on a map enhances its
practical usability for geographical tracking and network monitoring.
• The project serves multiple applications, including network security analysis, website debugging,
education, and research. It can help users understand how IP addresses work and provide insights into
their significance in digital communications.
• By integrating real-time IP tracking with an interactive GUI, the IP Finder project offers an efficient and
user-friendly way to access IP-related information. It is designed to be cross-platform, working on
Windows, Linux, and MacOS, ensuring broad usability.
• This project demonstrates the power of Python in networking applications and provides an excellent
learning opportunity for those interested in IP tracking, networking, and cybersecurity.
6
Concepts Used in Microproject
1. Networking Concepts
• IP Addressing
Understanding Public IP (external internet-facing IP) and Private IP (local device IP
within a network).
Using IPv4 and IPv6 addressing formats.
• Domain Name System (DNS)
Resolving domain names (e.g., google.com) to IP addresses using the socket library.
• Geolocation Tracking
Fetching IP-based location data (country, city, ISP, latitude, longitude).
Using APIs to retrieve real-time geolocation data.
2. Python Programming Concepts
• Working with APIs
Using the requests module to interact with online IP lookup APIs (e.g., ip-api.com).
Sending HTTP requests and handling JSON responses.
• Socket Programming
Using the socket module to get private IP and resolve domain names.
Establishing a connection between local devices and networks.
• File Handling (Optional Feature Enhancement)
Writing and reading IP details to/from a file for record-keeping.
3. GUI Development Concepts
• Tkinter for GUI
Creating a Graphical User Interface (GUI) using Tkinter.
Using widgets like buttons, labels, entry fields, and text areas for user input/output.
• Event-Driven Programming
Handling button clicks and updating GUI components dynamically.
4. Data Visualization Concepts
• Folium for Map Integration
Using the folium library to generate maps.
Marking the IP location on a map with latitude & longitude.
• TkinterMapView for Embedded Maps
Displaying an interactive map directly in the GUI.
5. Cross-Platform Compatibility Concepts
• Ensuring the project runs on Windows, Linux, and MacOS.
• Using built-in Python libraries for socket programming and network communication.
7
Code and Outputs
An IP(Internet Protocol) address is an identifier assigned to each computer and other
device(e.g., router, mobile, etc.) connected to a TCP/IP network that is used to locate and
identify the node in communication with other nodes on the network. IP addresses are usually
written and displayed in human-readable notation such as 192.168.1.35 in IPv4(32-bit IP
address).
Get IP address of your computer in Python
Here we are trying to fetch the IP address of our computer in Python using various methods
like,
• Using the socket library to find IP Address
• Using the os module to find IP Address
• Using the request module to find IP Address
➢ Using the socket library to find IP Address
Step 1: Import socket library
IP = socket.gethostbyname(hostname)
Step 2: Then print the value of the IP into the print() function your IP address.
print("Your Computer IP Address is:" + IPAddr)
Below is the complete Implementation
Here we have to import the socket first then we get the hostname by using the gethostname()
function and then we fetch the IP address using the hostname that we fetched and the we simply
print it.
# Python Program to Get IP Address
import socket
hostname = socket.gethostname()
IPAddr = socket.gethostbyname(hostname)
print("Your Computer Name is:" + hostname)
print("Your Computer IP Address is:" + IPAddr)
Output:
Your Computer Name is:pppContainer
Your Computer IP Address is:10.98.162.168
8
➢ Using the os module to find IP Address
Here we are using the os module to find the system configuration which contains the IPv4
address as well.
import os
print(os.system('ipconfig'))
Output:
9
➢ Using the request module to find IP Address
Here we are using the request module of Python to fetch the IP address of the system.
from urllib.request import urlopen
import re as r
def getIP():
d = str(urlopen('http://checkip.dyndns.com/')
.read())
return r.compile(r'Address: (\d+\.\d+\.\d+\.\d+)').
search(d).group(1)
print(getIP())
Output:
103.251.142.122
10
Conclusion
➢ The IP Finder Project is a practical and efficient tool that allows users to retrieve,
analyze, and visualize IP-related information. By integrating networking principles,
Python programming, API interactions, GUI development, and data visualization, the
project provides a user-friendly interface to fetch public and private IPs, resolve domain
names, and track geolocation details.
➢ Through this project, users gain valuable insights into IP addressing, DNS resolution,
and geolocation tracking, making it useful for network security, system administration,
and educational purposes. The inclusion of an interactive map enhances usability by
providing a visual representation of an IP’s location.
➢ Additionally, the project demonstrates the power of Python in real-world networking
applications. It is lightweight, cross-platform, and scalable, making it suitable for future
enhancements, such as bulk IP lookups, advanced cybersecurity analysis, and database
storage for IP records.
➢ In conclusion, the IP Finder serves as a valuable tool for students, network
professionals, and cybersecurity enthusiasts, helping them understand and explore the
significance of IP addresses in digital communication.
11
JSPM’s
JAYAWANTRAO SAWANT POLYTECHNIC, Handewadi Road,
Hadapsar, Pune-28
Department of Computer Engineering
Academic Year 2024-25
Title of Micro project: IP Finder
1.0 Brief Description:
The IP Finder project is a Python-based application designed to retrieve, analyze, and visualize IP address
information. Internet Protocol (IP) addresses are essential for communication over the internet, identifying
devices, and tracking online activities. This project helps users find their public and private IP addresses,
obtain geolocation details of an IP, resolve domain names to IP addresses, and display the IP location on an
interactive map.
2.0 Aim of Micro Project:
The aim of this IP Finder Micro Project is to develop a Python-based application that allows users to retrieve
and analyze IP addresses efficiently. This project focuses on providing real-time IP tracking, geolocation
details, and domain resolution, along with an interactive map visualization.
3.0 Course Outcome Integrated :
a. Understanding Networking and IP Addressing
b.Applying Python Programming Concepts
c. Problem-Solving and Logical Thinking
d.Cross-Platform Development and API Integration
4.0 Actual Procedure Followed.
a. Problem Identification & Requirement Analysis
b.Technology & Tool Selection
c. Implementation & Coding
d.Testing & Debugging
e. Final Execution & Output Validation
f. Documentation & Project Finalization
12
5.0 Actual Resources Used (mention the actual resources used.)
Sr. Name of Specification Quantity Remarks
NO resource /
material
1 Laptop Windows 10 1
2 VS code Version 3.8 1
6.0 Outputs of the Micro Projects
• Public & Private IP Retrieval
Displays the public IP (provided by ISP) and private IP (local network address).
• IP Geolocation Details
Shows country, city, region, ISP, latitude, and longitude of the entered IP.
• Domain to IP Resolution
Converts a domain name (e.g., google.com) to its corresponding IP address.
• Map Visualization
Displays the geographical location of the IP on an interactive map in the GUI.
7.0 Skill Developed/ Learning out of this Micro project
Throughout this project we developed some important skills like leadership quality, scheduling of the
project and risk management. One of the most important skills we developed is the communication and
coordination between our team members. We also learned planning skills, time management and
adaptability
13
Teacher Evaluation Sheet
Name of students: Shrinath Bhandare Enrollment No: 2207110601
Name of program: Computer Engineering Semester: VI
Course Title: Programming with python
Code: 22616
Title of Micro Project: IP Finder
Course Outcomes Achieved:
a. Understanding Networking and IP Addressing
b.Applying Python Programming Concepts
c. Problem-Solving and Logical Thinking
d.Cross-Platform Development and API Integration
Evaluation as per suggested Rubric for Assessment of Micro Project
Sr. Characteristic to be Poor Average Good Excellent
No assessed (Marks1- (Marks 4 - (Marks 6 - (Marks 9 -
3) 5) 8) 10)
1 Relevance to the course
2 Literature Survey /
Information collection
3 Project Proposal
4 Completion of the Target as
per Project Proposal
5 Analysis of data and
representation
6 Quality of Prototype/ Model
7 Report preparation
8 Presentation
9 Defense
14
Teacher Evaluation Sheet
Name of students: Soha Jamadar Enrollment No: 2207110806
Name of program: Computer Engineering Semester: VI
Course Title: Programming with python
Code: 22616
Title of Micro Project: IP Finder
Course Outcomes Achieved:
a. Understanding Networking and IP Addressing
b.Applying Python Programming Concepts
c. Problem-Solving and Logical Thinking
d.Cross-Platform Development and API Integration
Evaluation as per suggested Rubric for Assessment of Micro Project
Sr. Characteristic to be Poor Average Good Excellent
No assessed (Marks1- (Marks 4 - (Marks 6 - (Marks 9 -
3) 5) 8) 10)
1 Relevance to the course
2 Literature Survey /
Information collection
3 Project Proposal
4 Completion of the Target as
per Project Proposal
5 Analysis of data and
representation
6 Quality of Prototype/ Model
7 Report preparation
8 Presentation
9 Defense
15
Teacher Evaluation Sheet
Name of students: Hrutik Apegaonkar Enrollment No: 2207110807
Name of program: Computer Engineering Semester: VI
Course Title: Programming with python
Code: 22616
Title of Micro Project: IP Finder
Course Outcomes Achieved:
a. Understanding Networking and IP Addressing
b.Applying Python Programming Concepts
c. Problem-Solving and Logical Thinking
d.Cross-Platform Development and API Integration
Evaluation as per suggested Rubric for Assessment of Micro Project
Sr. Characteristic to be Poor Average Good Excellent
No assessed (Marks1- (Marks 4 - (Marks 6 - (Marks 9 -
3) 5) 8) 10)
1 Relevance to the course
2 Literature Survey /
Information collection
3 Project Proposal
4 Completion of the Target as
per Project Proposal
5 Analysis of data and
representation
6 Quality of Prototype/ Model
7 Report preparation
8 Presentation
9 Defense
16
Teacher Evaluation Sheet
Name of students: Gauri Navle Enrollment No: 2207110808
Name of program: Computer Engineering Semester: VI
Course Title: Programming with python
Code: 22616
Title of Micro Project: IP Finder
Course Outcomes Achieved:
a. Understanding Networking and IP Addressing
b.Applying Python Programming Concepts
c. Problem-Solving and Logical Thinking
d.Cross-Platform Development and API Integration
Evaluation as per suggested Rubric for Assessment of Micro Project
Sr. Characteristic to be Poor Average Good Excellent
No assessed (Marks1- (Marks 4 - (Marks 6 - (Marks 9 -
3) 5) 8) 10)
1 Relevance to the course
2 Literature Survey /
Information collection
3 Project Proposal
4 Completion of the Target as
per Project Proposal
5 Analysis of data and
representation
6 Quality of Prototype/ Model
7 Report preparation
8 Presentation
9 Defense
17
Micro Project Evaluation Sheet
Process Assessment Product Assessment Total
Marks
Part A - Project Project Par B - Project Individual
Proposal Methodology Report/ working Presentation/ Viva 10
(2 Marks) (2 Marks) Model (4 Marks)
(2 Marks)
Note: Every course teacher is expected to assign marks for group evaluation in first 3
columns and individual evaluation 4th column
Comment/ suggestion about team work/leadership/ interpersonal communication (If any)
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………
………………………………………………………………………………………………………
………………………………………………
Any other comment:
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………
Name and Designation of the Faculty Member: Mr. B. L. Nirmal
Signature: …………………
18