Fav-Up : IP Lookup By Favicon Using Shodan

Fav-Up is a tool used for lookups for real IP starting from the favicon icon and using Shodan.

Installation

pip3 install -r requirements.txt

Shodan API key (not the free one)

Usage

CLI

First define how you pass the API key:

  • -k or --key to pass the key to the stdin
  • -kf or --key-file to pass the filename which get the key from
  • -sc or --shodan-cli to get the key from Shodan CLI (if you initialized it)

As of now, this tool can be used in three different ways

  • -ff or --favicon-file: you store locally a favicon icon which you want to lookup
  • -fu or --favicon-url: you don’t store locally the favicon icon, but you know the exact url where it resides
  • -w or --web: you don’t know the URL of the favicon icon, but you still know that’s there
  • -fh or --favicon-hash: you know the hash and want to search the entire internet.

You can specify input files which may contain urls to domain, to favicon icons, or simply locations of locally stored icons:

  • -fl, --favicon-list: the file contains the full path of all the icons which you want to lookup
  • -ul, --url-list: the file contains the full URL of all the icons which you want to lookup
  • -wl, --web-list: the contains all the domains which you want to lookup

You can also save the results to a CSV/JSON file:

-o--output: specify the output and the format, e.g.: results.csv will save to a CSV file (the type is automatically recognized by the extension of the output file)

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

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

VariableType
FavUp.showbool
FavUp.keystr
FavUp.keyFilestr
FavUp.shodanCLIbool
FavUp.faviconFilestr
FavUp.faviconURLstr
FavUp.webstr
FavUp.shodanShodan class
FavUp.faviconsListlist[dict]

FavUp.faviconsList stores all the results, the key fields depend by the type of the lookup you want to do.

  • In case of –favicon-file or –favicon-list:
    • favhash stores the hash of the favicon icon
    • file stores the path
  • In case of –favicon-url or –url-list:
    • favhash stores the hash of the favicon icon
    • url stores the URL of the favicon icon
    • domain stores the domain name
    • maskIP stores the “fake” IP (e.g. the Cloudflare one)
    • maskISP store the ISP name associated to the maskIP
  • In case of –web or –web-list:
    • favhash stores the hash of the favicon icon
    • domain stores the domain name
    • maskIP stores the “fake” IP (e.g. the Cloudflare one)
    • maskISP store the ISP name associated to the maskIP

(in this case the URL of the favicon icon is returned by the href attribute of HTML element)

If, while searching for the favicon icon, nothing useful is found, not-found will be returned.

In all three cases, found_ips field is added for every checked entry. If no IP(s) have been found, not-found will be

Compatibility

At least python3.6 is required due to spicy syntax.

Disclaimer

This tool is for educational purposes only. The authors and contributors don’t take any responsibility for the misuse of this tool. Use It At Your Own Risk!

R K

Recent Posts

Install PHP on Ubuntu 26.04: Apache, Nginx, and Multiple Versions

PHP 8.5 is included in Ubuntu 26.04's default repositories and is the recommended version for…

6 hours ago

Upgrade to Ubuntu 26.04 from 25.10 and 24.04 LTS: Complete Guide

Ubuntu 26.04 LTS "Resolute Raccoon" arrived on April 23, 2026 with Linux kernel 7.0, GNOME 50,…

6 hours ago

Install Kubernetes on Ubuntu 26.04 with kubeadm and containerd

Kubernetes is the standard platform for running containerized workloads across multiple servers with self-healing, rolling…

6 hours ago

Install Ubuntu 26.04: Bootable USB, Partitioning, and First Steps

Ubuntu 26.04 LTS "Resolute Raccoon" was released on April 23, 2026 with Linux kernel 7.0, GNOME desktop, and standard security support until April 2031. A clean install gives you a known-good starting point on new hardware, when replacing another operating system, or when an upgrade path is not practical. This guide walks through how to install Ubuntu 26.04: downloading and verifying the ISO, writing a bootable USB drive, completing the installer, and doing the initial setup after the first boot. Before you start: You need a USB drive with at least 12 GB of free space. Back up any existing data on the target machine — the installer can erase the entire disk. Install Ubuntu 26.04: Download the ISO…

6 hours ago

Change Timezone on Ubuntu: timedatectl and Desktop GUI Guide

The correct timezone affects more than the clock on your screen. It drives cron job scheduling, systemd timer execution, log file timestamps, database record timing, and SSL certificate validity checks. A mismatched timezone can cause scheduled jobs to fire at the wrong hour and make log timestamps impossible to match with real-world events. This guide shows how to change timezone on Ubuntu using the timedatectl command (the recommended approach for servers and remote machines) and through the graphical Date & Time settings on desktop systems. The steps apply to all current Ubuntu releases including 24.04 and 26.04. <strong>Prerequisite:</strong>&nbsp;Only&nbsp;the&nbsp;root&nbsp;user&nbsp;or&nbsp;a&nbsp;user&nbsp;with&nbsp;sudo&nbsp;access&nbsp;can&nbsp;change&nbsp;the&nbsp;system&nbsp;timezone. Check the Current Timezone Before You Change It Run timedatectl with no arguments to see the active timezone and clock status: bashtimedatectl Sample output: Local…

7 hours ago

Install Atom on Ubuntu 18.04: GitHub’s Code Editor APT Setup

Atom is a free, open-source, cross-platform code editor developed by GitHub. Built on Electron, it uses…

18 hours ago