Skip to content

AswinMathew2004/recon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”Ž recon.py

The most powerful all-in-one OSINT lookup tool for Kali Linux

Zero dependencies. Pure Python stdlib. Just clone and run.

Python Stdlib only Platform License Made by Aswin Mathew

Features β€’ Install β€’ Usage β€’ Demo β€’ How it works


✨ Features β€” six full OSINT modules, A to Z

Flag Module What it does
-u Username Concurrent scan across 80+ sites: GitHub, GitLab, X/Twitter, Instagram, TikTok, Reddit, YouTube, Twitch, Medium, Stack Overflow, Steam, Roblox, SoundCloud, Spotify, Telegram, Keybase, Replit, NPM, PyPI, Dribbble, Behance, ArtStation, Patreon, Bluesky, Threads, Mastodon, HackerRank, LeetCode, TryHackMe, MyAnimeList, AniList, and many more
-e Email Format validation β€’ MX record check (via Google DoH) β€’ SPF + DMARC sniff β€’ Gravatar avatar + profile JSON β€’ Disposable email detection (50+ domains) β€’ Free vs business classification β€’ Auto-scans local-part as username β€’ Breach lookup links (HIBP, DeHashed, IntelX, LeakCheck)
-p Phone Embedded ITU E.164 database for 200+ countries (zero deps!) β€’ Country, region, ISO code, timezone, expected length β€’ Indian carrier hints by prefix series β€’ US area code β†’ state mapping (350+ NPAs) β€’ Truecaller / WhatsApp / Telegram / Sync.me / WhitePages lookup links
-n Name 18 pre-built Google / Bing / DuckDuckGo / Yandex dorks (LinkedIn, FB, X, GitHub, IG, Reddit, YouTube, PDFs, resumes, court records, images) β€’ Auto-generates 10+ username permutations (firstlast, first.last, flast, lf, f.last, etc.) and runs the full username scan on each
-d Domain πŸ†• WHOIS over raw socket (port 43, follows referrals) β€’ Full DNS: A, AAAA, MX, NS, TXT, CNAME, SOA β€’ SSL certificate info (issuer, validity, SANs) β€’ HTTP headers + tech stack fingerprint (WordPress, React, Cloudflare, etc.) β€’ robots.txt + sitemap.xml β€’ Subdomain enumeration via crt.sh (Certificate Transparency) β€’ Wayback Machine snapshot
-i IP πŸ†• Reverse DNS β€’ Full geolocation (country, region, city, ZIP, coordinates, timezone) β€’ ISP / Organization / ASN β€’ Mobile / proxy / VPN / hosting flags β€’ IP WHOIS β€’ Quick port scan of 12 common services
-o JSON export Save the entire structured report to JSON for piping into Maltego, Spiderfoot, or your own pipelines

Why it's "most powerful"

  • 🧬 Zero pip installs β€” no requests, no phonenumbers, no dnspython. Built entirely on urllib, socket, ssl, concurrent.futures from the Python standard library. Runs on any fresh Linux/Kali install with just python3.
  • ⚑ Threaded β€” 25 worker threads scan 80+ sites in seconds
  • 🌍 Embedded ITU phone DB β€” country codes, timezones, ISO codes for the whole world, all in-code
  • πŸ” Two new modules β€” -d and -i make this a full red-team recon kit, not just a username searcher
  • 🎯 No API keys ever required β€” uses Google's free DoH for DNS, crt.sh for subdomains, ip-api.com for geo

πŸ“¦ Installation

# 1. Clone
git clone https://github.com/AswinMathew2004/recon.git
cd recon

# 2. Make executable (optional)
chmod +x recon.py

# 3. Run β€” that's it. No pip, no venv, no dependencies.
python3 recon.py -u octocat

Make it a global command (optional)

sudo ln -s "$(pwd)/recon.py" /usr/local/bin/recon
recon -u johndoe

πŸš€ Usage

# Single-target lookups
python3 recon.py -u johndoe                  # 80+ social/dev/gaming sites
python3 recon.py -e john@example.com         # email intelligence
python3 recon.py -p +14155552671             # US phone β†’ state lookup
python3 recon.py -p +919876543210            # India phone β†’ carrier hints
python3 recon.py -n "John Doe"               # name dorks + permutation scan
python3 recon.py -d example.com              # full domain intelligence
python3 recon.py -i 8.8.8.8                  # IP geolocation + WHOIS + ports

# Combine everything for full target profile
python3 recon.py -u johndoe -e john@x.com -p +91... -n "John Doe" -d x.com -o report.json

All flags

-u, --username  Username (80+ sites)
-e, --email     Email investigation
-p, --phone     Phone with +country code
-n, --name      Full name
-d, --domain    Domain WHOIS/DNS/SSL/subdomains
-i, --ip        IP geo/ASN/ports
-o, --output    Save structured JSON report
-v, --version   Show version
-h, --help      Show help

πŸ“Ί Demo

$ python3 recon.py -p +14155552671

  ____
 |  _ \ ___  ___ ___  _ __
 | |_) / _ \/ __/ _ \| '_ \
 |  _ <  __/ (_| (_) | | | |   v2.0.0
 |_| \_\___|\___\___/|_| |_|
   OSINT lookup β€’ Pure stdlib β€’ Kali Linux
      by Aswin Mathew  β€’  https://github.com/AswinMathew2004

╔══ PHONE β†’ +14155552671 ════════════════════════════════════════╗
  [βœ“] E.164 form     β†’  +14155552671
  [βœ“] Country        β†’  United States/Canada (US/CA)  [+1]
  [βœ“] National no.   β†’  4155552671
  [βœ“] Timezone       β†’  America/New_York
  [βœ“] Length valid   β†’  10 digits (expected 10)
  [βœ“] US state       β†’  CA  (area code 415)

  [i] Manual lookups:
      Truecaller   β†’ https://www.truecaller.com/search/us/ca/4155552671
      WhatsApp     β†’ https://wa.me/14155552671
      ...
$ python3 recon.py -d github.com

╔══ DOMAIN β†’ github.com ═════════════════════════════════════════╗
  [i] Querying WHOIS over port 43…
      Registrar          MarkMonitor Inc.
      Created            2007-10-09T18:20:50Z
      Expires            2026-10-09T07:00:00Z
      Name servers       DNS1.P08.NSONE.NET, DNS2.P08.NSONE.NET, ...
      DNSSEC             unsigned

  [i] DNS records (via Google DoH):
  [βœ“] A      (1)    140.82.114.4
  [βœ“] MX     (5)    1 aspmx.l.google.com.  ...
  [βœ“] TXT    (8)    v=spf1 ip4:192.30.252.0/22 ...

  [i] SSL certificate:
      Subject CN     github.com
      Issuer         Sectigo Limited / Sectigo ECC ...
      Valid until    Mar 14 23:59:59 2025 GMT
      SAN (2)        github.com, www.github.com

  [βœ“] Tech detected  β†’  Cloudflare, React, jQuery

  [i] Subdomain enumeration via crt.sh:
  [βœ“] Found 4823 unique subdomain(s)
      api.github.com
      assets.github.com
      ...

🧠 How it works

Task Library used What's avoided
HTTP / HTTPS requests urllib.request + ssl requests, httpx
DNS queries (A, MX, TXT, NS) urllib β†’ Google DoH JSON API dnspython
WHOIS lookups raw TCP socket on port 43 python-whois
SSL certificate parsing ssl.SSLContext.getpeercert() cryptography
Phone number parsing embedded ITU dictionary phonenumbers
Port scanning socket.create_connection nmap, scapy
Subdomain enumeration crt.sh JSON endpoint brute force, paid APIs
IP geolocation ip-api.com (free, no key) MaxMind GeoIP DB
Threading concurrent.futures.ThreadPoolExecutor β€”

Result: the entire tool fits in one file, runs anywhere Python 3 runs, and never needs a pip install.


🧩 Extending

Adding a new platform takes one line. Edit the SITES dict in recon.py:

SITES = {
    # ...
    "MyPlatform": ("https://myplatform.com/{}", "code", 200),
    # method "code" β†’ HTTP status equals `expected` means exists
    # method "neg"  β†’ 200 AND `expected` NOT in body
    # method "pos"  β†’ 200 AND `expected` IS in body
}

Adding a new country phone code? Edit COUNTRY_CODES:

COUNTRY_CODES = {
    ...
    999:("Atlantis","AT","Atlantic/Mid",10),
}

πŸ›£ Roadmap

  • HIBP API integration (with optional API key via env var)
  • HTML report export with styled output
  • Reverse image search on found profile pics
  • Shodan integration for -i mode (with key)
  • Docker image for one-shot execution
  • Web UI

PRs welcome!


🧰 Pairs well with other Kali tools

sherlock β€’ holehe β€’ theHarvester β€’ PhoneInfoga β€’ Maigret β€’ Spiderfoot β€’ Amass


⚠️ Legal & Ethical Use

This tool is built for:

  • βœ… Self-research β€” see what's public about you
  • βœ… Authorized penetration testing β€” with written permission from the target
  • βœ… Journalism / academic research on public information
  • βœ… Cybersecurity learning (CTFs, labs, red team exercises)

It must NOT be used for:

  • ❌ Stalking, harassment, or doxxing private individuals
  • ❌ Unauthorized investigation
  • ❌ Anything that violates the laws of your jurisdiction

The port scan in -i mode is light and connection-only, but port scanning systems you don't own may still be illegal where you live. Know your local laws.

You are responsible for how you use this tool. The author assumes no liability for misuse.


πŸ“œ License

MIT Β© 2026 Aswin Mathew


Made with ❀️ by Aswin Mathew

🌐 aswinmathew.xyz β€’ πŸ’» GitHub

⭐ Star this repo if you found it useful!

About

πŸ”Ž The most powerful zero-dependency OSINT tool for Kali Linux. Looks up usernames (80+ sites), emails, phone numbers, names, domains (WHOIS/DNS/SSL/subdomains), and IPs (geo/ASN/ports) β€” all in one pure-Python file. No pip install needed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages