PhoneInfoga: Complete Guide to Phone Number Intelligence and OSINT Using Kali Linux

PhoneInfoga is an advanced OSINT framework, written in Go, specifically focused on gathering information about international phone numbers. It combines local validation/formatting (via the libphonenumber library) with active reconnaissance techniques such as carrier lookup, line-type detection (mobile/landline/VoIP), footprint scanning across search engines and social media, and reputation/scam-database checks. It is widely used in OSINT investigations, fraud analysis, and social engineering reconnaissance where a phone number is the only available lead.

Installation

# Kali/Debian (pre-installed, or reinstall)
sudo apt update && sudo apt install phoneinfoga -y

# Via Go (any platform with Go installed)
go install github.com/sundowndev/phoneinfoga/v2@latest

# Via Docker
docker pull sundowndev/phoneinfoga
docker run --rm -it sundowndev/phoneinfoga scan -n "+1 555 555 5555"

Verify installation:

phoneinfoga version

Syntax

phoneinfoga [COMMAND] [OPTIONS]

PhoneInfoga v2 operates via subcommands, primarily scan (CLI) and serve (web UI).

Command-Line Options

phoneinfoga scan:

FlagDescription
-n, --number NUMBERPhone number to scan, in international format (e.g., +15555555555)
-i, --input FILEFile containing a list of numbers to scan in bulk
-o, --output FILESave scan output to a file
-r, --reconEnable OSINT scanner modules for deeper footprint scanning
-s, --scanner NAMERun a specific named scanner module only
-v, --verboseEnable verbose output
--filter STRINGFilter/restrict scanner modules by name

phoneinfoga serve:

FlagDescription
-p, --port PORTPort for the local web UI/API server (default 5000)
-a, --address ADDRBind address for the web server

Other:

CommandDescription
phoneinfoga versionDisplay the installed version
phoneinfoga plugin listList available/installed scanner plugins

Basic Usage

phoneinfoga scan -n "+15555555555"

Expected output:

[+] Scanning number: +15555555555

Basic information
------------------
Valid: true
Number: 15555555555
Local: (555) 555-5555
E164: +15555555555
International: +1 555-555-5555
Country: United States (US)
Carrier: Example Wireless
Line type: mobile

Practical Examples

Example 1 — Basic number validation and carrier lookup

phoneinfoga scan -n "+14155552671"
Valid: true
Country: United States (US)
Carrier: Example Mobile
Line type: mobile

Example 2 — Running with OSINT/footprint scanning enabled

phoneinfoga scan -n "+14155552671" -r
[+] Running OSINT scanners...
[+] Googlesearch scanner: 3 results found
    https://example-forum.com/user/14155552671
[+] Numverify scanner: carrier confirmed as Example Mobile

Example 3 — Scanning a UK number

phoneinfoga scan -n "+442071838750"
Country: United Kingdom (GB)
Carrier: Example UK Telecom
Line type: landline

Example 4 — Bulk scanning numbers from a file

cat numbers.txt
# +14155552671
# +442071838750

phoneinfoga scan -i numbers.txt -o bulk_results.txt
[+] Scanning +14155552671... done
[+] Scanning +442071838750... done
[+] Results saved to bulk_results.txt

Example 5 — Saving a single scan’s output to file

phoneinfoga scan -n "+14155552671" -o result.txt
cat result.txt
Valid: true
Country: United States (US)
Carrier: Example Mobile

Example 6 — Launching the local web UI for interactive investigation

phoneinfoga serve -p 5000
[+] PhoneInfoga web server started at http://localhost:5000

(Navigate to http://localhost:5000 in a browser to use the graphical scanning interface.)

Example 7 — Listing available scanner plugins

phoneinfoga plugin list
- numverify
- googlesearch
- ovh
- local (libphonenumber)

Example 8 — Running only a specific scanner module

phoneinfoga scan -n "+14155552671" -s googlesearch
[+] Running googlesearch scanner only...
[+] 2 search engine mentions found

Common Use Cases

Automation with Bash

Batch-scan a list of numbers and consolidate carrier/country info into a CSV:

#!/bin/bash
# phoneinfoga_batch.sh
echo "number,country,carrier,line_type" > results.csv
while IFS= read -r number; do
    result=$(phoneinfoga scan -n "$number")
    country=$(echo "$result" | grep -oP '(?<=Country: ).*')
    carrier=$(echo "$result" | grep -oP '(?<=Carrier: ).*')
    linetype=$(echo "$result" | grep -oP '(?<=Line type: ).*')
    echo "$number,$country,$carrier,$linetype" >> results.csv
done < numbers.txt

echo "[+] Results saved to results.csv"

Automated deep scan (with OSINT recon) for a single high-priority number:

#!/bin/bash
NUMBER=$1
phoneinfoga scan -n "$NUMBER" -r -o "phoneinfoga_$(echo "$NUMBER" | tr -d '+').txt"
echo "[+] Deep scan complete"

Tips and Best Practices

Troubleshooting

ProblemCauseFix
Error: invalid phone number formatNumber missing + country code prefix or contains invalid charactersReformat to strict E.164 (e.g., +14155552671) with no spaces/dashes
OSINT scanners return no resultsNumber has no public internet footprint, or scanner API rate-limitedExpected for numbers with low public exposure; retry later if rate-limited
Carrier shown as “Unknown”Ported number or VoIP provider not well-indexed in carrier lookup databasesCross-check with an alternate lookup service; note the limitation in your findings
Web UI (serve) not reachable in browserWrong port/address bound, or firewall blocking local portConfirm with -p/-a flags match what you’re browsing to; check netstat -tlnp
Docker version scan fails to reach internetContainer networking not configured for outbound accessRun with --network host or verify Docker’s default bridge network has internet access

References

Exit mobile version