Posted by Sam Thomas via NANOG on Aug 15</lurk><grumpy_old_router_hacker>
when I asked the goog^WAI about CLI rdap tools, one suggestion was
"nicinfo," apparently produced by ARIN.
deprecated, and they recommended icann-rdap, which is produced in
rust. It is still compiling on my development system as I write this.
Compiling icann-rdap-cli v0.0.31 (/home/sthomas/src/icann-rdap/icann-rdap-cli)
Building [=======================> ] 539/545:...
nanog
mailing list archives
Re: Whois using these ARIN services?? (fwd: Consultation on the Future of ARIN’s Directory Services)
</lurk><grumpy_old_router_hacker>
when I asked the goog^WAI about CLI rdap tools, one suggestion was
"nicinfo," apparently produced by ARIN.
deprecated, and they recommended icann-rdap, which is produced in
rust. It is still compiling on my development system as I write this.
Compiling icann-rdap-cli v0.0.31 (/home/sthomas/src/icann-rdap/icann-rdap-cli)
Building [=======================> ] 539/545: rdap-srv-data(bin),
rdap-test(bin), rdap(bin), rdap-srv(bin)
meanwhile, on one of the few cores not getting rusted...
<farfarello:/usr/src/usr.bin/whois% wc -l whois.c
610 whois.c
<farfarello:/usr/src/usr.bin/whois% make
[Creating objdir /usr/obj/usr/src/amd64.amd64/usr.bin/whois...]
echo whois.full: /usr/lib/libc.a >> .depend
cc -fpie -DPIC -O2 -pipe -fno-common -fPIE
-ffile-prefix-map=/usr/src=/usr/src
-ffile-prefix-map=/usr/obj/usr/src=/usr/obj -g -gz=zlib -MD
-MF.depend.whois.pieo -MTwhois.pieo -std=gnu17 -Wno-format-zero-length
-fstack-protector-strong -Wsystem-headers -Werror -Wall
-Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
-Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align
-Wchar-subscripts -Wnested-externs -Wold-style-definition
-Wno-pointer-sign -Wdate-time -Wmissing-variable-declarations
-Wthread-safety -Wno-empty-body -Wno-string-plus-int
-Wno-unused-const-variable -Wno-error=unused-but-set-parameter
-Wno-error=cast-function-type-mismatch -Qunused-arguments -c
/usr/src/usr.bin/whois/whois.c -o whois.pieo
cc -O2 -pipe -fno-common -fPIE -ffile-prefix-map=/usr/src=/usr/src
-ffile-prefix-map=/usr/obj/usr/src=/usr/obj -g -gz=zlib -std=gnu17
-Wno-format-zero-length -fstack-protector-strong -Wsystem-headers
-Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type
-Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter
-Wcast-align -Wchar-subscripts -Wnested-externs -Wold-style-definition
-Wno-pointer-sign -Wdate-time -Wmissing-variable-declarations
-Wthread-safety -Wno-empty-body -Wno-string-plus-int
-Wno-unused-const-variable -Wno-error=unused-but-set-parameter
-Wno-error=cast-function-type-mismatch -Qunused-arguments -Wl,-zrelro
-pie -o whois.full whois.pieo
objcopy --only-keep-debug whois.full whois.debug
objcopy --strip-debug --add-gnu-debuglink=whois.debug whois.full whois
gzip -cn /usr/src/usr.bin/whois/whois.1 > whois.1.gz
<farfarello:/usr/obj/usr/src/amd64.amd64/usr.bin/whois% ls -lh whois
-rwxr-xr-x 1 sthomas wheel 17K Aug 15 19:08 whois
the icann-rdap build finally finished:
<farfarello:~/src/icann-rdap/target/release% ls -lh rdap
-rwxr-xr-x 2 sthomas sthomas 18M Aug 15 19:08 rdap
only 1000x the bits to do the same job; progress!. :)
tongue firmly in cheek, as I do love the JSON, but good grief do we
have to make everything this way? it's perfectly ok to have one
standard for machine-to-machine data exchange and a separate standard
for human consumption, especially if we rely on only one canonical
source for the data.
On Fri, Aug 14, 2026 at 12:37 PM Job Snijders via NANOG
<nanog () lists nanog org> wrote:
On Fri, Aug 14, 2026 at 10:19:23AM -0700, Randy Bush via NANOG wrote:can we assume there will be somewhat finger compatible CLI client tools for most platforms?I know of two tools, both seem useful: https://openrdap.org/ (doas pkg_add openrdap) $ openrdap 192.0.2.1 | head IP Network: Handle: NET-192-0-2-0-1 Start Address: 192.0.2.0 End Address: 192.0.2.255 IP Version: v4 Name: TEST-NET-1 https://metacpan.org/dist/App-rdapper (doas pkg_add rdapper) $ rdapper rg.net Object type: Domain Name URL: https://rdap.joker.com/domain/rg.net Name: RG.NET Nameserver: NLNS.GLOBNIX.NET Nameserver: NS1.RG.NET IP Address: 46.224.94.61 IP Address: 2a01:4f8:1c1a:5360::1 Nameserver: RIP.PSG.COM IP Address: 147.28.0.39 IP Address: 2001:418:1::39 DS Record: rg.net. 1 IN DS 12391 8 2 0fb5f11e4fe4045d519a55915bd71d6dcfb1fa045b01be891640c8ea1c0792c9 Registration: 1993-04-28T04:00:00Z Last Changed: 2025-12-23T03:23:28Z Expiration: 2028-04-29T04:00:00Z Last update of RDAP database: 2026-08-14T17:25:00Z ...and a staged trasition, to allow for lot of automation that is gonna have to change.Yes, perhaps so. However, the usual "RIR IRR source -> NRTM -> IRRd instance -> query utility" flow seems out-of-scope for the proposal, right?speaking of automation, sure would be nice if the rirs were compatible.For posterity it might be worth to repeat what exactly the incompatibilities are and what ARIN (or other RIRs) can do to improve. Kind regards, Job _______________________________________________ NANOG mailing list https://lists.nanog.org/archives/list/nanog () lists nanog org/message/RLT3RT54C5OYAUDW3FQLZ7KXSAHRHERG/
_______________________________________________ NANOG mailing list https://lists.nanog.org/archives/list/nanog () lists nanog org/message/7BVLJBGTSBPNG6GCWQ5O3C3ALY2T33QX/