Como construir a ferramenta wireshark [closed]

1

Qual nível de conhecimento de rede seria necessário para construir algo como o wireshark? Qual é o caminho que eu levaria para abordar isso? Eu não sei muito sobre networking, e todos que eu conheço me dizem alguma coisa sobre o CCNA ou o CISCO, tomar esses cursos me permite construir ferramentas como o wireshark? Se não, qual caminho deve ser tomado para ser autodidata a este nível?

    
por mathmaniage 14.06.2018 / 12:15

1 resposta

5

Você pode dividi-lo em pelo menos estes tópicos principais:

  1. Como coletar pacotes do sistema operacional - conhecimento dos recursos fornecidos pela pilha de rede do sistema operacional (e ocasionalmente modelo de driver).

    Por exemplo, o Wireshark depende da libpcap para fazer o trabalho pesado, que precisa saber sobre métodos de captura no Linux, em BSDs, e vem com seu próprio driver de kernel para Windows (ex .: WinPcap / Npcap).

  2. Como interpretar o conteúdo dos pacotes - conhecimento de onde encontrar informações sobre vários protocolos de rede.

    Principalmente isso envolve a decodificação de dados binários, já que o Wireshark não participa de fato em nenhum desses protocolos; deixa a interpretação final para o usuário.

  3. Como apresentar os dados (e os outros recursos do programa) de uma maneira compreensível - o design da interface do usuário é um tópico totalmente separado da programação ou da rede, mas é muito importante.

    (Isso pode causar exceções ao segundo ponto - por exemplo, o Wireshark compreende as conexões TCP para fornecer vários recursos de conveniência como "Seguir fluxo").

  4. Como implementar a interface do usuário que você projetou - programação geral; conhecimento do kit de ferramentas GUI usado pelo sistema operacional (por exemplo, o Wireshark migrou recentemente do GTK para o Qt).

por 14.06.2018 / 12:31

Tags