Los objetivos que se le plantearon a la librería desarrollada fueron los siguientes:
-Capturar e interpretar paquetes de red. Esto es, no sólo leerlos de una interfaz de red, sino también separarlos en las diferentes capas que lo componen para facilitar su análisis. Esto implicaría permitir el acceso al contenido de cada campo presente en la estructura del paquete.
-Alterar y enviar paquetes de red. Muchas aplicaciones necesitan hacer envío de paquetes a bajo nivel para interactuar de alguna manera con otras máquinas o servicios, pero no tienen acceso a un mecanismo simple y eficiente para hacerlo. Como consecuencia, agregar esta característica permitiría que la librería sea útil no sólo para quienes quieran hacer análisis pasivo de tráfico, sino también para quienes deseen llevar a cabo acciones activas en la red.
El objetivo de la librería sería poder utilizarla para una gran variedad de tareas que impliquen análisis de tráfico o envío de paquetes a bajo nivel. Entre otras, podrían listarse:
-Detección de actividades maliciosas. Se podrían aplicar filtros que permitan detectar tráfico que pareciera tener fines maliciosos, como explotación de vulnerabilidades o detección de ataques de fuerza bruta contra los diferentes servicios de una red para luego generar alertas o incluso bloqueos automatizados.
-Monitoreo de redes. Esto podría ser utilizado para aplicar control de acceso sobre los usuarios de una red o simplemente para conocer a qué servidores realizan conexiones.
-Detección de anomalías en la red. Se podrían buscar situaciones que parezcan ser producto de problemas en la red, como pérdidas y reenvío de paquetes, incremento del round-trip time (RTT) entre los dos extremos de una conexión TCP, etc. Esto permitiría luego enfocar el diagnóstico de los problemas adonde corresponda.