En este artículo, descubriré varios métodos para leer, escribir y manipular la información de metadatos registrada en una variedad de tipos de archivos (PDF, imágenes, vídeos).
Para conseguirlo, haré uso de una herramienta conocida como “ExifTool“. EXIF es un acrónimo de Exchangeable Image File Format y es un estándar para la inclusión de metadatos en ciertos tipos de archivos.
1. Qué es ExifTool
ExifTool ha sido desarrollado por Phil Harvey. Es una librería Perl independiente de la plataforma, junto con una completa implementación de línea de comandos para leer, escribir y manipular los metadatos a través de una amplia gama de archivos, particularmente las imágenes JPEG.
Estos metadatos pueden contener un montón de información como la marca de la cámara, el tipo de archivo, los permisos, el tamaño del archivo, ubicación, etc., aunque también ofrecen más detalles sobre la fotografía, como la exposición, la velocidad del obturador y si el flash se disparó o no. ExifTool probablemente nos da la forma más sencilla de extraer metadatos de los archivos, ya que es gratuito y es un programa de código abierto.
2. Instalación de ExifTool
Exiftool es muy fácil de instalar. Se trata simplemente de acceder a nuestro terminal Linux y clonar la herramienta desde GitHub.
git clone https://github.com/exiftool/exiftool.git
Además, necesitamos instalar el paquete necesario para ello.
sudo apt-get install libimage-exiftool-perl
Por lo tanto, hemos montado la herramienta en nuestro sistema. Echemos un vistazo más de cerca.
3. Uso de ExifTool
Para extraer todos los metadatos de un archivo, sólo tenemos que ejecutar el siguiente comando:
exiftool <nombre_archivo>
De la imagen de abajo, ahora puedes notar que tenemos toda la información extraída de nuestro archivo de imagen (como ejemplo esGeeks.png
), desde la más básica hasta la más avanzada (si contiene).
Sin embargo, si necesitamos capturar los ids
junto con las etiquetas exif
en el formato Hexa-Decimal, entonces debemos ejecutar el siguiente comando:
exiftool -H <nombre_archivo>
De la imagen de abajo, podemos ver que hay mucha información almacenada dentro de estas etiquetas Exif.
3.1. Extraer información común de metadatos
Ahora ejecuta el siguiente comando que nos proporcionará la salida de las etiquetas Exif más comunes del archivo de imagen.
exiftool -common <nombre_archivo.jpg>
3.2. Extraer información específica de metadatos
Podemos listar una meta-información particular de nuestro archivo de imagen simplemente ejecutando el comando dado:
exiftool -<nombre_etiqueta1> -<nombre_etiqueta2> <nombre_archivo>
De la imagen de abajo, obtenemos la salida deseada junto con sus nombres de etiqueta respetados en un formato de tipo lista.
3.3. Extraer coordenadas GPS
Las fotografías que capturamos usando nuestros smartphones o cámaras tienen coordenadas GPS incrustadas como metadatos en los archivos de imagen. Para obtener esto, sólo tenemos que ejecutar el comando que se muestra a continuación:
exiftool <nombre_archivo> | grep GPS
Después de la salida, sólo tenemos que copiar y pegar esta información completa de coordenadas en Google Maps y obtendremos la ubicación exacta de la cámara cuando se tomó la foto.
- También te puede interesar: Imago Forensics: Extraer datos GPS de JPEG
3.4. Extraer imagen en miniatura
Las miniaturas son las imágenes de vista previa originales básicamente comprimidas. Estos son creados para abrir las imágenes originales más rápidamente y actuar como portapapeles para ellas. Para extraer estas imágenes en miniatura, basta con ejecutar el siguiente comando:
exiftool -ThumbnailImage (nombre_archivo) > (salida)
Aquí podemos ver que el archivo thumbnail.jpg
se extrae de la imagen esGeeks.jpg.
3.5. Extraer metadatos utilizando palabras clave específicas
El siguiente comando nos ayudará a extraer la información de metadatos asociada a algunas palabras clave específicas.
exiftool "-*keyword*" <nombre_archivo>
En la imagen de abajo, podemos ver que el comando ejecutado muestra todas las etiquetas con nombres que contienen la palabra “imagen
” del archivo.
3.6. Modo detallado (verbose) de ExifTool
El modo verbose genera información extendida, es decir, cuando añadimos [-v
] al comando exiftool
nos mostrará los datos completos sobre el proceso que está realizando.
exiftool -v <nombre_archivo>
3.7. Manipular / Crear metadatos
ExifTool nos proporciona un gran poder para escribir la mayor parte de la información en las etiquetas EXIF, que cualquiera puede querer alterar, pero algunas etiquetas están protegidas porque describen las características físicas de la imagen que no podemos cambiar con Exiftool, como la compresión. Además, otras etiquetas como el GPS, las MakerNotes, esta información puede ser editada.
Para manipular los datos exif necesitamos ejecutar el siguiente comando:
exiftool -Make= “EsGeeks” <nombre_archivo>
Aquí podemos ver que la información almacenada en la etiqueta “Make” se sustituye a “EsGeeks
“. Mientras escribes la información, el script de ExifTool conserva automáticamente el archivo original añadiendo “_original
” al final del nombre del archivo.
3.8. Eliminar información de metadatos
Hasta ahora sólo hemos extraído o manipulado los datos EXIF, pero ¿qué pasa si queremos eliminar todos los metadatos de un archivo de imagen? Simplemente ejecuta el siguiente comando, veamos cómo funciona:
exiftool -all= <nombre_archivo>
Muestra 1 image files uploaded
. Los datos EXIF “esGeeks.png
” han sido eliminados eficazmente. Aunque intentemos extraer los metadatos de “esGeeks.png
” de nuevo, sólo estaremos obteniendo la información básica de la imagen y el resto se elimina.
3.9. Guardar salidas en formato múltiple
- En archivo HTML: Guardaremos la salida de ExifTool en un archivo HTML para mantener los registros y para una mejor legibilidad. Para ello utilizaremos el parámetro “
-h
” junto con el comandoexiftool
y guardaremos los resultados en un archivo con extensión.html
.
exiftool -h (nombre_archivo) > (salida.html)
Aquí podemos ver que se genera el archivo salida.html
. Aunque sólo tenemos que abrirlo en cualquiera de nuestros navegadores para comprobar la salida de datos EXIF.
- En archivo de texto: Incluso podemos exportar nuestros exifdatos a un archivo de texto similar a la salida del HTML. Para ello, basta con ejecutar los siguientes comandos:
exiftool (nombre_archivo) > (salida.txt)
Además, también podemos monitorizar nuestra salida, ya sea abriéndola en cualquiera de los editores de texto o simplemente ejecutando el comando:
cat <nombre_archivo>
3.10. Extraer datos ExifData de un archivo de vídeo
ExifTool no sólo extrae metadatos del formato de archivo jpg, sino que también puede leer y escribir en una variedad de archivos (como pdf
). Para saber más, haz clic aquí.
Ahora vamos a extraer toda la información de metadatos de un archivo de vídeo mp4. Para extraer esto, ejecutamos el comando básico de exiftool, es decir:
exiftool <nombre_archivo.mp4>
4. Conclusión
Esta era la guía completa de usabilidad de Exiftool como extractor de metadatos. Es fácil de usar y conveniente gracias a su sencilla implementación en línea de comandos. Por lo tanto, se ha convertido en una de las mejores herramientas para extraer datos de metadatos de una variedad de formatos de archivo.
- ¿Más sobre metadatos de imágenes? Entonces, comprueba si una fotografía ha pasado por Photoshop
- ¿También te interesa los metadatos en archivos PDF? Aprende cómo eliminar Metadatos de PDF y Proteger Archivo
¿Te ha gustado este artículo? ¡Da clic aquí por favor! Sígue este blog en su fanpage de Facebook, Twitter, Instagram y/o YouTube para que no te pierdas del mejor contenido informático y hacking!Metada