On Jul 17, 2024, at 10:26 AM, Rob Sayre <sayrer@xxxxxxxxx> wrote:
My apologies for coming into this thread late. Have you ever tried curl? [1] It has been part of the Apple Darwin standard installation for several years. It supports the ftp and telnet protocols: ==== % curl -V curl 8.6.0 (x86_64-apple-darwin23.0) libcurl/8.6.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.12 nghttp2/1.61.0 Release-Date: 2024-01-31 Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL threadsafe UnixSockets ==== Here is an example of using curl to access a routeviews.org route collector: ==== % curl -v telnet://route-views.paix.routeviews.org * Host route-views.paix.routeviews.org:23 was resolved. * IPv6: 2001:4f8:ffff::14 * IPv4: 192.158.252.14 * Trying [2001:4f8:ffff::14]:23... * Connected to route-views.paix.routeviews.org (2001:4f8:ffff::14) port 23 Hello, this is FRRouting (version 10.0.1). Copyright 1996-2005 Kunihiro Ishiguro, et al. * RCVD WILL ECHO * SENT DO ECHO * RCVD WILL SUPPRESS GO AHEAD * SENT DO SUPPRESS GO AHEAD * RCVD DONT LINEMODE * RCVD DO NAWS * SENT WILL NAWS * SENT IAC SB * NAWS * Width: 0 ; Height: 0 * SENT WILL BINARY * SENT DO BINARY * SENT WILL SUPPRESS GO AHEAD route-views.paix> show version route-views.paix> show version FRRouting 10.0.1 (route-views.paix) on Linux(5.15.0-79-generic). Copyright 1996-2005 Kunihiro Ishiguro, et al. configured with: '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-option-checking' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--sbindir=/usr/lib/frr' '--with-vtysh-pager=/usr/bin/pager' '--libdir=/usr/lib/x86_64-linux-gnu/frr' '--with-moduledir=/usr/lib/x86_64-linux-gnu/frr/modules' '--disable-dependency-tracking' '--enable-rpki' '--disable-scripting' '--enable-pim6d' '--with-libpam' '--enable-doc' '--enable-doc-html' '--enable-snmp' '--enable-fpm' '--disable-protobuf' '--disable-zeromq' '--enable-ospfapi' '--enable-bgp-vnc' '--enable-multipath=256' '--enable-user=frr' '--enable-group=frr' '--enable-vty-group=frrvty' '--enable-configfile-mask=0640' '--enable-logfile-mask=0640' 'build_alias=x86_64-linux-gnu' 'PYTHON=python3' quit route-views.paix> quit * Closing connection ==== I verified from the curl source code that it supports telnet protocol options. [2] Regards, Greg [1] https://curl.se [2] https://github.com/curl/curl/blob/27959ecce75cdb2809c0bdb3286e60e08fadb519/lib/telnet.c#L147 |