É possível ver o código-fonte real do tcpdump? [duplicado]

2

Antes de responder, meu artigo de pergunta pode ter algum conteúdo incorreto. Eu sou um novato no Linux e um desenvolvedor novato.

Eu tenho uma pergunta sobre o código fonte tcpdump do Linux. Como eu sei, o tcpdump é implementado usando libpcap.

  1. Como o tcpdump funciona? Minha opinião é que, uma vez que o arquivo executável binário do tcpdump está configurado em PATH. correto?

  2. Minha principal questão é que onde está o código-fonte do tcpdump c? Eu já sabia o código da biblioteca do tcpdump, que é acessível pela tcpdump homepage tcpdump

  

Eu quero ver o código real c tcpdump contendo a função principal, arquivos de cabeçalho variáveis. Por favor, deixe-me saber a localização.

Eu uso o Ubuntu 16.04 LTS.

    
por 박주현 03.07.2016 / 11:31

2 respostas

8

tcpdump está disponível no repositório main no Ubuntu.

Para baixar o código-fonte de tcpdump :

  • Certifique-se de ter os repositórios ativados para deb-src type packages, para xenial (16.04) adicione o seguinte ao /etc/apt/sources.list :

    deb-src http://archive.ubuntu.com/ubuntu/ xenial main restricted
    

    Substitua xenial pelo seu codinome de lançamento. Você pode encontrar seu codinome de lançamento por:

    lsb_release -sc
    
  • Agora atualize a lista de pacotes locais sincronizando com os repositórios:

    sudo apt-get update
    
  • Instale o código-fonte de tcpdump :

    apt-get source tcpdump
    

    Será baixado e extraído automaticamente no diretório atual; também não há necessidade de sudo , a menos que você não tenha permissão de gravação no diretório.

Todos os arquivos que você precisa estão no diretório tcdump-<version> , por exemplo, para a versão 4.5.1 , o diretório seria tcpdump-4.5.1 .

    
por heemayl 03.07.2016 / 11:38
4

Não sei se entendi bem sua primeira pergunta, mas:

  1. Você pode encontrar a fonte no GitHub . Conforme indicado no site do desenvolvedor, você pode clonar o repositório tcpdump GitHub usando:

    git clone https://github.com/the-tcpdump-group/tcpdump.git
    
  2. Quando você compila o código, você terá que decidir onde deseja que seu executável resida. Apenas certifique-se de que ele esteja localizado em algum lugar para o qual sua variável PATH do usuário aponta ou apenas modifique seu PATH para incluir esse local.

Você também pode instalá-lo diretamente do repositório da Canonical através de sudo dpkg -i DEB_PACKAGE ou sudo apt-get install DEB_PACKAGE ou usando uma GUI, se quiser um ... Nesse caso, você encontrará seu binário em /usr/sbin/tcpdump . Além disso

 whereis tcpdump

lhe dará a localização do seu binário (acima), seu código-fonte e seus arquivos de manual.

    
por Cbhihe 03.07.2016 / 11:53