Fav-up: A Python Tool for IP Discovery Using Shodan and Favicon

This article introduces Fav-up, a Python-based IP discovery tool that leverages Shodan and website favicons, explains how to install it, details its command‑line options and usage examples, and shows how to integrate it as a Python module for network reconnaissance.

Python Programming Learning Circle
Python Programming Learning Circle
Python Programming Learning Circle
Fav-up: A Python Tool for IP Discovery Using Shodan and Favicon

Fav-up

Fav-up is a powerful IP query tool that uses Shodan and website favicons to help researchers discover the real IP addresses of target services or devices.

Installation

First, ensure Python 3 is installed on the local machine. Then clone the project source code:

git clone https://github.com/pielco11/fav-up.git

Next, install the required dependencies: pip3 install -r requirements.txt In addition, you need a Shodan API key.

Usage

Command‑line Interface

Provide your API key using one of the following options:

-k or --key: pass the key via stdin; -kf or --key-file: specify a file containing the key; -sc or --shodan-cli: retrieve the key from the Shodan CLI.

After configuring the key, you can use Fav-up in several ways:

-f or --favicon-file: local favicon file to query; -fu or --favicon-url: URL of the favicon; -w or --web: target website address; -fh or --favicon-hash: search the favicon hash on the Internet.

You can also provide lists of inputs:

-fl or --favicon-list: file containing paths to favicons to query; -ul or --url-list: file containing full URLs of favicons; -wl or --web-list: (description omitted).

Results can be saved to a CSV or JSON file:

-o or --output: specify the output file and format, e.g., csv.

Usage Examples

Favicon File

python3 favUp.py --favicon-file favicon.ico -sc

Favicon URL

python3 favUp.py --favicon-url https://domain.behind.cloudflare/assets/favicon.ico -sc

Web

python3 favUp.py --web domain.behind.cloudflare -sc

Using as a Module

from favUp import FavUp

f = FavUp()
f.shodanCLI = True
f.web = "domain.behind.cloudflare"
f.show = True
f.run()

for result in f.faviconsList:
    print(f"Real-IP: {result['found_ips']}")
    print(f"Hash: {result['favhash']}")

All Attributes

Variable

Type

FavUp.show

bool

FavUp.key

string

FavUp.keyFile

string

FavUp.shodanCLI

bool

FavUp.faviconFile

string

FavUp.faviconURL

string

FavUp.web

string

FavUp.shodan

Shodan class

FavUp.faviconsList

list[dict]

Project URL

Fav-up: https://github.com/pielco11/fav-up

Original article: https://www.freebuf.com/articles/network/271752.html

Fav-upfaviconIP discoveryNetwork ReconnaissanceShodan
Python Programming Learning Circle
Written by

Python Programming Learning Circle

A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.