From 2f34b1414eb88c8e61d9920831feab23f1075672 Mon Sep 17 00:00:00 2001 From: fanf Date: Thu, 14 May 2015 11:37:36 +0000 Subject: whois: add an option to query the PeeringDB --- usr.bin/whois/whois.1 | 4 ++++ usr.bin/whois/whois.c | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'usr.bin/whois') diff --git a/usr.bin/whois/whois.1 b/usr.bin/whois/whois.1 index ffeadfa..a9ed50a 100644 --- a/usr.bin/whois/whois.1 +++ b/usr.bin/whois/whois.1 @@ -159,6 +159,10 @@ Connect to the whois server on If this option is not specified, .Nm defaults to port 43. +.It Fl P +Use the PeeringDB database of AS numbers. +It contains details about presence at internet peering points +for many network operators. .It Fl Q Do a quick lookup. This means that diff --git a/usr.bin/whois/whois.c b/usr.bin/whois/whois.c index 87e48d5..6ad8826 100644 --- a/usr.bin/whois/whois.c +++ b/usr.bin/whois/whois.c @@ -71,6 +71,7 @@ __FBSDID("$FreeBSD$"); #define LNICHOST "whois.lacnic.net" #define MNICHOST "whois.ra.net" #define NICHOST "whois.crsnic.net" +#define PDBHOST "whois.peeringdb.com" #define PNICHOST "whois.apnic.net" #define QNICHOST_HEAD "whois.nic." #define QNICHOST_TAIL ".whois-servers.net" @@ -122,7 +123,7 @@ main(int argc, char *argv[]) country = host = qnichost = NULL; flags = use_qnichost = 0; - while ((ch = getopt(argc, argv, "aAbc:fgh:iIklmp:Qr")) != -1) { + while ((ch = getopt(argc, argv, "aAbc:fgh:iIklmp:PQr")) != -1) { switch (ch) { case 'a': host = ANICHOST; @@ -163,6 +164,9 @@ main(int argc, char *argv[]) case 'p': port = optarg; break; + case 'P': + host = PDBHOST; + break; case 'Q': flags |= WHOIS_QUICK; break; @@ -511,7 +515,7 @@ static void usage(void) { fprintf(stderr, - "usage: whois [-aAbfgiIklmQr] [-c country-code | -h hostname] " + "usage: whois [-aAbfgiIklmPQr] [-c country-code | -h hostname] " "[-p port] name ...\n"); exit(EX_USAGE); } -- cgit v1.1