El filtrado de paquetes es una técnica que consiste, normalmente, en descartar aquellos paquetes que llegan (salen) hasta (desde) nuestro host a un puerto o con un contenido no deseado. En el primer caso los paquetes se filtran atendiendo al puerto al que van dirigidos (por ejemplo, todo lo que no vaya al puerto 80 debería ser ignorado si un servidor sólo debería ofrecer servicio Web). En el segundo el payload de los paquetes es analizado y dependiendo de este pueden ser eliminados (por ejemplo, todo aquel paquete que utilice el protocolo del eMule debería ser destruído). Otra situación muy común puede ser no transmitir paquetes que vengan o vayan desde o hacia un determinado rango de direcciones IP.
El filtrado de paquetes se realiza normlamente en los cortafuegos. Por ejemplo, en la universidad se filtran todos los paquetes de entrada que no provengan del tráfico Web o SSH, y se analiza el contenido de los paquetes para eliminar el tráfico generado por la mayoría de las aplicaciones P2P de compartición de ficheros (como eMule). Sin embargo, existen situaciones donde esto no es suficiente. ¿Qué pasaría si los paquetes no deseados llegan desde otro host situado en la misma red que la nuestra y cuyo tráfico no es filtrado por el cortafuegos?