Lectura de RFCs desde la línea de comandos

rfc868time-protocol.gif

Los RFC (Request For Comments) o petición de comentarios, son unos documentos sobre internet y los distintos protocolos que la conectan. Es la “documentación oficial” de los protocolos estándar en los que está construida la red de redes.

Si alguna vez has querido o quieres crear tu propio servidor FTP, SMTP, POP, DNS, etc. Los RFCs son tu punto principal de referencia, ya que para que tu servidor cumpla con los estándares definidos en dichos documentos.

No sólo si quieres implementar tu propio protocolo, sino, si quieres auditar, escribir un cliente, etc. Éstos también deberían ser punto de partida.

Estos documentos están accesible de forma totalmente gratuita y oficialmente se encuentran en http://www.ietf.org/rfc.html. Con lo que siempre puedes acceder a ellos desde tu navegador, o cualquier utilidad que te permita la descarga de ficheros desde sitios web (curl, wget, etc).

Para los apasionados de la línea de comandos, además de usar curl o wget, exista una pequeña utilidad llamada rfc que nos permite el acceso a los RFCs de forma un poco más elegante, usando varios comandos del sistema (wget o curl, grep, etc).

La instalación es muy sencilla:

curl -sL bit.ly/install-rfc | bash

O bien clona el repositorio github y añade la ruta a tu PATH o mueves el script a algún directorio que ya tengas en el PATH.

El uso es muy sencillo. Si sabes el número del RFC al que quieres acceder sólo tienes que ejecutar:

rfc XXX

Dónde XXX no define el estándar pornográfico, si el número del RFC que quieras leer. Esta herramienta, cada vez que hacemos una petición, mira si el documento ya lo hemos bajado con anterioridad, en un directorio cache, si no lo baja y lo tenemos en la cache pues lo coge de ahí.

Además del número de RFC, la herramienta acepta los siguientes parámetros:

rfc clear # limpia la cache rfc help # muestra la ayuda rfc search X # busca entre los documentos usando el comando grep rfc update # actualiza el script rfc version # muestra la versión del mismo

Para más información echa un vistazo al fichero README del repositorio.