A funcionalidade mais básica que um firewall pode oferecer é o filtro de pacotes.
Um filtro de pacote é capaz de decidir sobre a passagem ou não de um pacote, de acordo com as informações do cabeçalho IP. Usualmente, os filtros de pacotes agem sobre os seguintes campos de um pacote IP:
Alguns filtros de pacotes mais avançados podem agir sobre outros campos do pacote, como endereços físicos (MAC Address), outras flags (ex.: RST), campos de fragmentação de pacotes, entre outros. Na verdade, um filtro de pacotes pode utilizar qualquer campo de qualquer um dos cabeçalhos do pacote.
Um filtro de pacotes não realiza decisões com base no conteúdo (dados) dos pacotes, uma vez que analisar o conteúdo do pacote pode ser dispendioso e tornar o processo de roteamento mais lento. Apesar disso, existem ferramentas que usam esse recurso, como o l7filter. A sintaxe de comandos de um filtro de pacotes depende da ferramenta utilizada; porém, em linhas gerais, a forma de definir as regras é muito semelhante.