O Mac OS X 10.7 e versões posteriores suportam PF , um filtro de pacotes do OpenBSD, que é quase certamente o caminho certo para fazer isso.
A interface da linha de comando para gerenciar regras é pfctl
. Provavelmente você precisará invocá-lo como root, usando Authorization Services . Aqui está uma resposta que descreve um wrapper tipo NSTask que pode ajudá-lo.
O PF parece suportar regras baseadas em UIDs (procure o parâmetro user
no página man ). Se você precisar de ajuda para configurar o PF para fazer o que quiser, poste em unix.se ou apple.se .