Pergunta

Há anteriores pouco no google sobre este assunto, outros de pessoas fazendo essa mesma pergunta.

Como eu poderia começar a escrever o meu próprio firewall?

Eu estou olhando para escrever para a plataforma windows, mas eu também estaria interessado nesta informação para outros sistemas operacionais também.

Foi útil?

Solução

Para Windows 2000/XP existe um artigo com exemplos no CodeProject Desenvolvimento de Firewalls para Windows 2000/XP

Para o windows Vista, eu acho que você vai precisar usar Plataforma De Filtragem Do Windows

Outras dicas

Esta questão é assustadoramente semelhantes aos perguntando como escrever um algoritmo de criptografia.As respostas a ambas devem terminar em suave lembretes sobre o padrão da indústria de soluções que já:

  • incorporam anos de experiência e em constante melhoria,
  • são, provavelmente, muito mais seguro do que qualquer home-grown solução, e
  • conta auxiliares de requisitos, tais como a eficiência.

Um firewall deve inspecionar todos pacote com eficiência e precisão, e, portanto, é executado dentro do kernel do sistema operativo ou pilhas de rede.Erros ou ineficiências pôr em risco a segurança e o desempenho de toda a máquina e aquelas a jusante.

A construção de seu próprio baixo nível de firewall é um excelente exercício que irá proporcionar uma educação através de muitas tecnologias.Mas para qualquer aplicação real, é muito mais seguro e mais inteligente para criar um escudo ao redor do firewall existente API.No Windows, o netsh comando irá fazer isso;O Linux usa netfilter e iptables.Pesquisando qualquer um desses você irá apontar para muita teoria, exemplos e outras informações úteis.

Então, para começar, Eu ia escovar acima em TCP/IP (especificamente, as informações de cabeçalho:portas e protocolos) e, em seguida, aprender sobre os vários tipos de ataques e como detectá-los.Saiba mais sobre cada sistema operacional de juros e a forma como ele interage com as pilhas de rede.Finalmente, pense sobre a administração e o log:como configurar a sua firewall e rastreamento de pacotes por ele para garantir que ele está fazendo o que você quer fazer?

Boa sorte!

A abordagem usual é utilizar a API de ligar.O Google pode te ensinar isso.Basta ligar todas as importantes redes coisas, como connect's e listens's, e recusar o que você quer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top