Net::Whois - Whois parser checks domain data, determines if domain is registered or not
Whois parser overview
Data is collected via the WHOIS protocol from central servers for each domain zone. More about WHOIS can be read on Wikipedia: http://en.wikipedia.org/wiki/WHOIS
A-Parser functionality allows you to save parsing settings for further use (presets), set a parsing schedule, and much more. You can use automatic query replication, substitution of subqueries from files, enumeration of alphanumeric combinations and lists to obtain the maximum possible number of results.
Saving results is possible in the form and structure that you need, thanks to the built-in powerful Template Toolkit template engine that allows you to apply additional logic to results and output data in various formats, including JSON, SQL, and CSV.
Whois parser use cases
Selecting arbitrary data
Net::Whois select arbitrary data
Domain parameters
Getting parameters by domains
Notification of domain deadlines
We receive notifications in Telegram about the expiration of domain registration
Collecting an email address database
The preset allows you to collect email addresses of domains through the Whois service.
Data collected
- Whether the domain is registered or not
- Date of domain registration expiration
- When the domain was registered
- Used whois service
- List of domain name servers
- Current domain status
- Domain release date
Usage options
- Collecting free domains or those that will soon become available
- Collecting a list of ns-servers
- Obtaining domain statuses
Capabilities
- Supports working with international domains (IDN, for example, yandex.rf)
Queries
- As queries, it is necessary to specify the domain of the site being searched, for example:
a-parser.com
yandex.ru
google.com
vk.com
facebook.com
Results
- As a result, the domain is displayed, whether it is registered, the date of registration expiration, and the date of domain registration:
facebook.com - registered: 1, expire: 30.03.2028, creation: 29.03.1997
a-parser.com - registered: 1, expire: 25.02.2022, creation: 25.02.2012
vk.com - registered: 1, expire: 23.06.2021, creation: 24.06.1997
yandex.ru - registered: 1, expire: 01.10.2021, creation: 23.09.1997
google.com - registered: 1, expire: 14.09.2028, creation: 15.09.1997
Output options
Output of domain expiration data in CSV
Result format:
[% tools.CSVline(query, registered, expire_date, creation_date, free_date, whoisserver, registrar) %]
Example result:
a-parser.com,1,25.02.2022,25.02.2012,none,whois.crsnic.net,"PDR Ltd. d/b/a PublicDomainRegistry.com"
Output of NS list
Result format:
$ns.format('$server\n')
Example result:
demi.ns.cloudflare.com
vern.ns.cloudflare.com
Output of NS list in CSV
Result format:
[% FOREACH ns;
tools.CSVline(query, server);
END; %]
Example result:
a-parser.com,demi.ns.cloudflare.com
a-parser.com,vern.ns.cloudflare.com
Output of result in JSON
Initial text:
[% data = {} %]
Final text:
[% data.json %]
Result format:
[% data = {};
data.query = query;
data.registered = registered;
data.expire_date = expire_date;
data.creation_date = creation_date;
data.free_date = free_date;
data.whoisserver = whoisserver;
data.registrar = registrar;
data.domains = [];
FOREACH ns;
item = {};
item.server = server;
data.domains.push(item);
END;
result = {};
result = data;
%]
Example result:
{
"registered": 1,
"query": "a-parser.com",
"free_date": "none",
"expire_date": "25.02.2022",
"registrar": "PDR Ltd. d/b/a PublicDomainRegistry.com",
"domains": [
{
"server": "demi.ns.cloudflare.com"
},
{
"server": "vern.ns.cloudflare.com"
}
],
"creation_date": "25.02.2012",
"whoisserver": "whois.crsnic.net"
}
To make the "Initial text" and "Final text" options available in the Task Editor, you need to activate "More options".
Obtaining the domain registrar
Add the Results Constructor and select the source from the drop-down list: $p1.data
. Select the type: RegEx Match
. In the Regular Expression field, enter the regular expression: Registrar:\s*(.+)
and save it to the registrar
variable. Add to the Result Format: $query - $registrar\n
Download example
How to import the example into A-Parser
eJxtVMlu2zAQ/ZVgkEPSOkJy6EU3x4CBFq6VOg56sH0grJHLhiIZLm4CQf/eIbVQ
SXuyZ3vzhvNGDThmn+2DQYvOQr5rQMf/kIPBE7fOMAMz0MxYNCFhB2t0ef7zl+KW
AiVWzAsHswbcm0YqU2c0hpdIQV6SXSlTM0egMQ3OTPiQdvni0bxd3Fxcjn32ewnt
4TCDLtkuY2XI1XdZT2sMPrIzblXA5wKTe0nWmtWxQ8kchmjWUbi6ztxrQGBlyR1X
komuQxgrdX2S/CUylIpyA0uOdmlUTS6HESBSH9jt+lGAIHys/dHVQF4xYXEGlqgu
GREpP0a4Q8OcMoUOfMjfgJJzIVZ4RpHSIv6956KkHcwrKvraF/4/pfgHox3Hm7ai
Tf0xxGFEidZ98T1VlWqlTsNjCF5zR7ZdKC/DYm7J+Yyoxzdbh7RaGRzb9Mh9dxKa
RhlkkVY218n1box3a5k4G7DKmyP1290SQ+ZYePtefqQmfI3g4TeHzaCufL+3n66y
z9dDcBsLpBeCilVYZFL8oSXEo5IVPxW9ngc6Xm7pZAq5ULUW6EYIb3GTNDi3/a6D
kV7hY/EitiCa4x0RFSXst8fuPbThxOxLYFzTuqZde8gjE+Jps5pGIOmWDHbTHW92
JAmHfIcnRXKlacKQ/WWPX4Bmet9505IGftuHLinMEp10xmTSgiG/a/8CXrN/Jg==
Possible settings
Parameter | Default value | Description |
---|---|---|
Recursive query | 0 | Allows you to get an extended version of WHOIS |
WHOIS server | - | Allows you to set your own WHOIS server |