Inspector de archivos TAR
Lee las cabeceras de 512 bytes que hay dentro de un archivo tar y te muestra el listado completo antes de desempaquetar nada: la ruta de cada entrada, si es un fichero, un directorio, un enlace simbólico o un enlace duro, los bits de permisos de Unix en forma rwx y octal, el propietario y el grupo como nombres y como números, el tamaño, la fecha de modificación y, en los enlaces, adónde apuntan. Maneja los formatos que tar escribe de verdad y no solo el más sencillo: v7 puro, POSIX ustar con su campo de prefijo de 155 bytes, las cabeceras de nombre largo de GNU y las cabeceras extendidas PAX, que sustituyen los campos de ancho fijo por valores UTF-8 y son la única razón de que sobreviva una ruta de más de 255 bytes o una marca de tiempo con fracciones de segundo. Se verifica la suma de comprobación de cada cabecera, así que un fichero corrupto o que no sea un tar se rechaza en lugar de producir una lista de disparates con buena pinta, y un archivo cortado a mitad de cabecera se señala en vez de listarse en silencio como si estuviera completo. El motivo para mirar antes de extraer es que las entradas de un tar pueden nombrar rutas fuera del directorio en el que estás. Una entrada con una barra inicial, una ruta que contenga .., o un enlace simbólico que apunte a una ruta absoluta pueden dejar ficheros donde no querías; GNU tar quita las dos primeras y avisa, pero mucho código de extracción en otros lenguajes no lo hace. Todo eso se marca, igual que el archivo que se desempaqueta en más de una entrada de primer nivel y esparce su contenido por tu directorio de trabajo. Todo se ejecuta en tu navegador: el archivo nunca se sube.
Cómo usar
- Arrastra un fichero .tar, .tar.gz o .tgz a la caja, o haz clic para elegirlo. Los archivos comprimidos con gzip se descomprimen antes en el navegador.
- Mira la línea de formato para ver qué variante de tar lo escribió —v7, ustar, gnu o pax—, porque eso determina qué campos son fiables.
- Recorre la tabla buscando la entrada que te interesa: permisos y propietario se muestran exactamente como los imprimiría tar -tv.
- Revisa cualquier cosa resaltada en ámbar antes de extraer; esas entradas pueden escribir fuera del directorio donde desempaquetes.
- Si se rechaza el fichero es que falló la suma de comprobación de una cabecera: el archivo está corrupto, truncado, o no es un tar.
Preguntas frecuentes
- ¿Por qué necesita una suma de comprobación un fichero tar si no está comprimido?
- Cada cabecera de 512 bytes lleva una suma sencilla de sus propios bytes, calculada tratando el campo de la suma como espacios. No es una comprobación de integridad fuerte y solo cubre la cabecera, no el contenido, pero basta para distinguir una cabecera real de datos al azar. Eso es lo que permite recorrer un archivo: en un tar no hay índice central, así que la única forma de encontrar la siguiente entrada es fiarse del tamaño de la cabecera actual y saltar. Si la suma falla, esta herramienta se detiene en vez de saltar a un desplazamiento arbitrario e inventarse entradas con los bytes que encuentre allí.
- ¿Qué diferencia hay entre v7, ustar, gnu y pax?
- Son cuatro generaciones de la misma cabecera de 512 bytes. v7 es la original y solo tiene sitio para un nombre de 100 caracteres: ni nombres de propietario ni rutas largas. ustar (POSIX.1-1988) añadió la cadena mágica, los nombres de usuario y grupo, y un campo de prefijo de 155 bytes, de modo que una ruta llega a 255 caracteres si por suerte se parte en una barra en el sitio adecuado. GNU tar resolvió los nombres largos de otra manera, escribiendo una cabecera extra cuyo contenido es el nombre real. pax (POSIX.1-2001) lo generalizó a registros clave=valor capaces de llevar cualquier campo en UTF-8, incluidas rutas de cualquier longitud, marcas de tiempo con fracciones y uid grandes. El GNU tar moderno usa pax por defecto cuando un valor no cabe.
- ¿Qué es un tarbomb y por qué se marca?
- Un tarbomb es un archivo cuyas entradas no cuelgan de un único directorio de primer nivel, así que extraerlo en tu carpeta actual esparce ficheros sueltos por ella en vez de crear un directorio ordenado que puedas borrar. Suele ser descuido más que malicia, pero limpiarlo es genuinamente molesto: tienes que leer el listado para saber cuáles de los ficheros que ahora hay en tu directorio venían del archivo. Como esta herramienta ya tiene el listado, te lo dice de entrada. La solución al extraer es tar -xf archive.tar -C un-directorio-nuevo, que lo confina sea cual sea su contenido.
- ¿Puede un fichero tar sobrescribir ficheros fuera de la carpeta donde extraigo?
- Puede intentarlo de tres maneras, y esta herramienta marca las tres. Una entrada cuyo nombre empieza por barra es una ruta absoluta. Una entrada cuyo nombre contiene .. se sale del directorio de extracción. Un enlace simbólico o duro cuyo destino sea absoluto o contenga .. permite que una entrada posterior del mismo archivo escriba a través de él en otro sitio. GNU tar se defiende de esto por defecto —quita las barras iniciales y se niega a extraer a través de rutas con ..— pero las bibliotecas de manejo de archivos de otros lenguajes con frecuencia no, y de ahí ha salido una larga lista de vulnerabilidades de path traversal. Mirar el listado primero no cuesta nada.
- ¿Se sube mi archivo a algún sitio?
- No. El fichero se lee con el FileReader del propio navegador, se analiza en JavaScript en esta página y no se envía a ninguna parte; la descompresión gzip también ocurre en local. Puedes comprobarlo de la forma directa: carga la página, desconéctate de la red y suelta un fichero; sigue funcionando. Nada del archivo, ni siquiera su nombre, sale de tu máquina.
- ¿Por qué no puedo ver ni descargar el contenido de los ficheros?
- Esta herramienta lee el listado, no la carga útil: recorre a propósito cabecera a cabecera en lugar de retener el contenido de las entradas, que es lo que evita que un archivo de varios gigabytes tenga que caber en una pestaña del navegador para poder listarlo. Si quieres el contenido de una entrada, tar -xf archive.tar ruta/dentro/del/archivo extrae solo esa ruta, y tar -Oxf archive.tar ruta la imprime por la salida estándar sin escribir ningún fichero.
Herramientas relacionadas
Inspector de .npy y .npz de NumPy
Lee la cabecera de un .npy o .npz en el navegador: dtype, shape, orden de bytes, campos y una vista de valores, sin NumPy y sin subir nada.
Inspector de flujos xz (.xz)
Lee un contenedor .xz: cabecera del flujo, cada cabecera de bloque y su cadena de filtros, el índice y el pie, con el tamaño real sin descomprimir nada.
Inspector de ZIP
Suelta un ZIP y mira cada archivo dentro — tamaños, contenido y descarga individual — sin desempaquetar localmente.
Visor CSV con Orden
Mira datos CSV / TSV como una tabla ordenable y buscable — abre un archivo o pega filas, sin hoja de cálculo.
Visor de plist (binario y XML)
Abre una lista de propiedades de Apple —binaria o XML— y léela como árbol, o conviértela a JSON o a plist XML.
Inspector de archivos gzip (.gz)
Lee la cabecera de un .gz campo por campo, recorre todos sus miembros y verifica el tráiler recalculando el CRC32 y el tamaño real en tu navegador.