🌐
Info by IP
infobyip.com › ipbulklookup.php
Domain and IP bulk lookup tool
Domain and IP bulk lookup tool allows to lookup domain, location, ISP and ASN for multiple hosts (IPs or domains) at once. It also supports lookup of MX or NS DNS records for multiple domains. This tool is commonly used for investigating IPs found in server logs.
🌐
Hackertarget
hackertarget.com › home › reverse ip lookup
Reverse IP Lookup, Find Hosts Sharing an IP | HackerTarget.com
April 27, 2025 - Next, use investigative tools to ... Alexa Top 1 Million sites, Search Engines (Bing), Common Crawl, Certificate Transparency, and the excellent scans.io project....
🌐
ShowMyIP
showmyip.com › bulk-ip-lookup
Bulk IP Lookup - Multiple IP Address Information
Bulk IP Lookup geolocates multiple IP addresses at once. You can also download the geolocation result as a CSV file. CSV file contains the following data: IP, Country, City, Region, ZIP, Timezone, ISP, Organization, ASN, Latitude and Longitude. Our bulk IP lookup tool can instantly output location of up to 100 IPv4 and IPv6 addresses.
🌐
Adver
adver.tools › reverse-dns-lookup
Bulk reverse DNS lookup - advertools
Reverse DNS Lookup tool for analyzing IP addresses in bulk. Upload a long list of duplicated IP addresses and for each of them, get the host name, alias list, and IP address list. Also get their counts, absolute, relative, and cumulative.
🌐
WhoisXML API
ip-geolocation.whoisxmlapi.com › bulk-gui
Bulk IP lookup | Batch IP address checker | WhoisXML API
Registrant Alert Reverse IP Reverse MX Reverse NS Reverse WHOIS · Screenshot Service Subdomains Lookup Website Categorization · WHOIS API Bulk WHOIS API Reverse WHOIS API WHOIS History API Domains & Subdomains Discovery API Domain Availability API Domain Info API
🌐
Domaintools
reverseip.domaintools.com
Reverse IP Lookup - All Names Hosted at an IP - DomainTools
Lookups are free for DomainTools Personal and Enterprise Members, for IPs with up to 2,000 hosted domains. ... Find all the domains hosted on a given IP address. Track the domains that come and go on a competitors IP address. Expand research on a target domain name—By using Reverse IP Lookup you can often find other domains owned by a given individual.
🌐
MxToolBox
mxtoolbox.com › ReverseLookup.aspx
Reverse IP Lookup - MxToolbox
The Reverse Lookup tool will do a reverse IP lookup. If you type in an IP address, we will attempt to locate a dns PTR record for that IP address. You can then click on the results to find out more about that IP Address. Please note that in general, your ISP must setup and maintain these Reverse ...
🌐
Readthedocs
advertools.readthedocs.io › en › master › advertools.reverse_dns_lookup.html
Reverse DNS Lookup in Bulk — Python
import advertools as adv ip_list = ['66.249.66.194', '66.249.66.194', '66.249.66.194', '66.249.66.91', '66.249.66.91', '130.185.74.243', '31.56.96.51', '5.211.97.39'] host_df = adv.reverse_dns_lookup(ip_list) host_df
Find elsewhere
🌐
WhoisXML API
reverse-ip.whoisxmlapi.com
Reverse IP Solutions to Find IP-Connected Domains | WhoisXML API
Broaden your DNS asset discovery with any of our Reverse IP consumption models—Lookup, API, and Database. Start API Trial ... Teams requiring bulk data access can obtain IP-connected domains and other passive DNS records from our market-leading DNS Database Download.
🌐
DNSlytics
dnslytics.com
Online investigation tool - Reverse IP, NS, MX, WHOIS and Search Tools
DNSlytics provides the ultimate online investigation tool. See detailed information about every IP address, domain name and provider. Perform network tests like DNS lookup, email testing and WHOIS lookups.
🌐
GitHub
github.com › eliemoutran › Mass-Reverse-IP-Lookup
GitHub - eliemoutran/Mass-Reverse-IP-Lookup: Mass Reverse IP Lookup is a multithreaded tool to reverse ip lookup a list of ip addresses using yougetsignal.com .
MRIL (Mass Reverse IP Lookup) is a multithreaded python tool to reverse ip lookup a list of ip addresses using yougetsignal.com.
Starred by 21 users
Forked by 16 users
Languages   Python
🌐
ViewDNS.info
viewdns.info
ViewDNS.info - Your trusted source for domain and IP intelligence!
View the reverse DNS (PTR) entry for an IP address. Checks whether a site is accessible from Iran. Ping a server from multiple locations worldwide. Test if any domain name is configured for DNSSEC. Convert a URL with '%##' values to a readable format. Find the abuse contact address for a domain name. Determine the manufacturer of a network device. Determine if a domain provides free email addresses. Lookup details on an Autonomous System Number.
🌐
MxToolBox
mxtoolbox.com › BulkLookup.aspx
Bulk Lookup Tool - Bulk IP and Domain Lookup Tool - MxToolBox
The MX lookup is done directly against the domain's authoritative name server, so changes to MX Records should show up instantly. You can click Diagnostics , which will connect to the mail server, verify reverse DNS records, perform a simple Open Relay check and measure response time performance. You may also check each MX record (IP ...
🌐
domainIQ
domainiq.com › bulk_reverse_ip
domainIQ - Bulk Reverse IP
Perform bulk IP lookups to discover domains hosted on one or more IPs.
🌐
Ipapi
app.ipapi.co › bulk
ipapi - Bulk IP Lookup Tool | Locate IP Address on a Map
Analyze up-to 1000 IPs per request ( or up-to 100 IPs with hostname lookup enabled ).
Top answer
1 of 4
10

xargs provides an optin --arg-file. With -L1 option to treat each line as argument, the simplest command we can make is as follows

$ xargs -L1 --arg-file=ip-addr.txt dig +short -x
google-public-dns-a.google.com.
resolver2.opendns.com.

If it's necessary to display the IP address next to the resolved domain, we can also do:

$ xargs -L1 --arg-file=ip-addr.txt sh -c 'printf "%s: " "$1"; dig +short -x "$1"' sh
8.8.8.8: google-public-dns-a.google.com.
208.67.220.220: resolver2.opendns.com.

Of course, xargs is an extra process. What if we wanted to only use shell and dig ? With bash version 4 and over, we can use mapfile or readarray to get lines of the text file into array, and then process items in a loop:

$ mapfile -t -d $'\n' < ip-addr.txt
$ for i in "${MAPFILE[@]}" ; do printf "%s:" "$i"; dig +short -x "$i"; done
8.8.8.8:google-public-dns-a.google.com.
208.67.220.220:resolver2.opendns.com.

If the IP addresses are few and don't require a long text file, POSIXly, we could use set to define values as positional parameters:

$ set -- 8.8.8.8 208.67.220.220
$ for i ; do printf "%s:" "$i"; dig +short -x "$i"; done
8.8.8.8:google-public-dns-a.google.com.
208.67.220.220:resolver2.opendns.com.

We can also use dig -x $IP_ADDRESS +short in a script like so:

#!/bin/bash
export LC_ALL=C
# without specifying 'in' part, bourne-like shells default
# to iterating over positional parameters
for item
do
     domain=$(dig -x "$item"  +short)
     # this logic can also be reversed with
     # [ "x$domain" = "x" ] && echo "empty" || echo "$domain"
     if [ -n "$domain"  ] ;
     then
         echo "$domain"
     else
         echo "$item" result is NULL
     fi
done

Demo of sample usage(all ip addresses given as space separeted):

$ ./reverse_dns_lookup.sh 8.8.8.8 74.125.193.94 151.101.193.69                 
google-public-dns-a.google.com.
ig-in-f94.1e100.net.
151.101.193.69 result is NULL

As you can see , in the last example our DNS server didn't find domain for the ip address we gave it. In such case we can use a different DNS server, for instance open_dns with dig @208.67.220.220 $IP_ADDRESS +short

In the demo above, the ip addresses are provided on command line, like ./reverse_dns_lookup.sh ADDRESS1 ADDRESS2 ADDRESS2 but you also can use a file for that, like so:

$ cat ip_addresses.txt |  xargs ./reverse_dns_lookup.sh                          <
google-public-dns-a.google.com.
resolver2.opendns.com.
192.30.253.112 result is NULL

Alternative script version:

Here's alternative version of the script that prints the AUTHORITY section from dig's output. This may be much better and more reliable than just +short version. NOTE: this uses 8.8.8.8 , which is Google's public DNS. Use a different server if you feel necessary.

#!/bin/bash
export LC_ALL=C
for item
do
 domain=$(dig @8.8.8.8  -x "$item" +noall +authority +answer)
 if [ -n "$domain"  ] ;
 then
     echo "$domain"
 else
     echo "$item" result is NULL
 fi
done

Demo:

$ cat ip_addresses.txt |  xargs ./reverse_dns_lookup.sh 

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 -x 8.8.8.8 +noall +authority +answer
; (1 server found)
;; global options: +cmd
8.8.8.8.in-addr.arpa.   21390   IN  PTR google-public-dns-a.google.com.

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 -x 208.67.220.220 +noall +authority +answer
; (1 server found)
;; global options: +cmd
220.220.67.208.in-addr.arpa. 6674 IN    PTR resolver2.opendns.com.

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 -x 192.30.253.112 +noall +authority +answer
; (1 server found)
;; global options: +cmd
253.30.192.in-addr.arpa. 10 IN  SOA ns1.p16.dynect.net. ops.github.com. 6 3600 600 604800 60
2 of 4
4

Here is a quick and dirty one liner: Contents of ip-addresses.txt:

$ cat ip-addresses.txt
    1.2.3.4
    1.1.1.1
    222.222.222.222
    23.12.34.56
    8.8.8.8
    208.67.222.220

Replace txt with your file that contains addresses, separated by newlines:

$ cat ip-addresses.txt | xargs -I % bash -c 'echo "%:$(dig -x % +short)"' >> dig-output.txt

If you append to dig-output.txt like above, contents of that file will be like below, if reverse DNS lookup is successfull, IP:NAME, if not, IP:(NULL)

$ cat dig-output.txt
1.2.3.4:
1.1.1.1:
222.222.222.222:
23.12.34.56:a23-12-34-56.deploy.static.akamaitechnologies.com.
8.8.8.8:google-public-dns-a.google.com.
208.67.222.220:resolver3.opendns.com.

If IP addresses are coming from another process, you can directly pipe to xargs.

Edit: If you must have a word such as null (inspired by @Serg) in case of a lookup failure, you can use the command below:

$ cat ip-addresses.txt | xargs -I % bash -c '{ query=$(dig -x % +short); if [ -z $query ]; then query=null;fi; echo %:$query; }'
  • cat ip-addresses.txt # Print IP addresses to STDOUT. If you don't want to cat from file, you can directly pipe from another process like command | xargs ...
  • xargs -I % bash -c # Take each line from left of pipe, use % as placeholder, run bash command that follows within single quotes
  • dig IP address that comes from placeholder % by xargs, assign to variable query. If result happens to be null (zero length), assign string 'null' word to query variable, then print as IP:result

Demo:

$ cat ip-addresses.txt | xargs -I % bash -c '{ query=$(dig -x % +short); if [ -z $query ]; then query=null;fi; echo %:$query; }'
1.2.3.4:null
1.1.1.1:null
222.222.222.222:null
23.12.34.56:a23-12-34-56.deploy.static.akamaitechnologies.com.
8.8.8.8:google-public-dns-a.google.com.
208.67.222.220:resolver3.opendns.com.
🌐
Bulk Seo Tools
bulkseotools.com › bulk-ip-to-location.php
IP to Location. IP Checker. Bulk IP Lookup Tool | Bulk Seo Tools
There's no charge, no CAPTCHA and no limit to how often you want to use this IP address lookup tool. The results you get include the coordinates, city, region and country so you can be sure to pinpoint it pretty accurately. * Your IP Address search results are not being recorded. Protect Yourself from Identity Theft. Save 35% on a VPN from hide.me · Input IP Address line by line. (Max 500 IPs)
🌐
Online DNS Tools
onlinednslookup.com › bulk-reverse-dns-lookup
Bulk Reverse DNS Lookup
This tool allows you to perform reverse DNS lookups on domains or hostnames in large batches, with the capacity to handle up to 500 at once. It offers the flexibility to use a custom DNS server of your choice for these lookups. Additionally, it supports DNSSEC, enhancing the security of the ...
🌐
Geekflare
geekflare.com › networking › 5 useful online dns and reverse ip address lookup tools
5 Useful Online DNS and Reverse IP Address Lookup Tools
December 27, 2024 - DomainTools is a tool to perform the reverse IP lookup on any website. Type its domain name or IP address into the text box and click ‘Lookup.’ It rapidly gives the results you want. Using this web service, you can also perform other operations like checking the hosting history, bulk parsed whois lookup, and even as an IP tracker (tracking changes to registered domain names associated with an IP Address).