Lo único que se me ocurre...aunque para serte sincero no se como hacerlo, sería que verifiques el estado de los puertos constantemente......Así, cuando uno de estos puertos tenga petición de salida, debe existir la relación a la aplicación que hace dicha solicitud. Así podrás saber quien quiere salir, y en todo caso negarle o brindarle el acceso.
Saludos,
Blag