NAME
Net::Magallanes - encapsulation of API calls to RIPE Atlas project.
SYNOPSIS
use Net::Magallanes;
my $atlas = new Net::Magallanes (
KEY => '<YOUR_API_KEY>'
);
my $msm_id = $atlas->dns(
name => 'www.vulcano.cl',
type => 'A',
);
# Wait for RIPE Atlas to complete
sleep(120);
my @result = $atlas->answers($msm_id, 'A');
print "Result is ", join ',', @result;
DESCRIPTION
Net::Magallanes is a pure perl interface to the RIPE Atlas API, for requesting measurements and getting data from past measurements.
More information on RIPE Atlas platform: atlas.ripe.net
*WARNING*: This module is a "work in progress". By no means does it allow full API handling. Functionality will be added as needed. It is currently a minimal implementation, which works for the cases indicated in the documentation.
DESCRIPTION
Net::Magallanes is a pure perl interface to the RIPE Atlas API, for requesting measurements and getting data from past measurements.
More information on RIPE Atlas platform: atlas.ripe.net
METHODS
new
Creates a new Net::Magallanes object. There're two optional parameters:
KEY => '<Secret API Key for RIPE Atlas>'
If you want to create new measurements, you must provide an API key for your RIPE Atlas account.
INFILES => '<path/filename>[,<morefiles>]'
If you want to use an existing JSON file with a previous measurement, instead of downloading one from Atlas API site. You can use more than one file, comma separated.
answers(<MSM-id> [, <qtype>])
Get an array of answers from the previous measurement with id MSM-id. The "answers" are the records from the ANSWER section of a DNS measurement.
If you specify a qtype 'A' (default) or 'AAAA', you'll get an array of addresses from the corresponding answer. With other types you'll get an array with a printable representation of each answer.
nsids(<MSM-id>)
Get an array of NSID texts from the results of a previous measurement MSM-id.
If there's no NSID for a result, you'll get a 'NULL' string.
rcodes
Get an array of RCODE texts from the results of a previous measurement MSM-id.
dns( name => '<QNAME>' [, type => '<QTYPE>'] [, num_prb => '<NUM_PROBES'> ])
Create a new "one-off" DNS measurement, asking for the name <QNAME> (required) and type <QTYPE> (AAAA default), from <NUM_PROBES> (default 5) probes at random, with worldwide coverage.
You must had initialized the Net::Magallanes object with a valid API key, with enough permissions and credits for measurement creation.
Return the measurement id assignated by Atlas platform.
You should take care for waiting enough time (5~6 minutes) before asking for the results of this measurement.
The measurement uses sensible parameters like DO bit set, 1232 EDNS buffer size, recursive towards the probe resolver, etc.
AUTHOR
Hugo Salgado <hsalgado@vulcano.cl>
COPYRIGHT
Copyright 2021- Hugo Salgado
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.