Возможно ли увидеть реальный исходный код tcpdump? [duplicate]

Прежде чем задать вопрос, моя статья может иметь некорректное содержание. Я новичок в linux и начинающий разработчик.

У меня вопрос относительно исходного кода linux tcpdump. Как я знаю, tcpdump реализован с помощью libpcap.

  1. Как работает tcpdump? Я думаю, что поскольку двоичный исполняемый файл tcpdump установлен в PATH. верно?

  2. Мой главный вопрос - где находится исходный код tcpdump c? Я уже знаю код библиотеки tcpdump, который доступен на домашней странице tcpdump tcpdump

Я хочу увидеть настоящий код tcpdump, содержащий главную функцию, переменные заголовочные файлы. Пожалуйста, сообщите мне местоположение.

Я использую Ubuntu 16.04 LTS.

2
задан 3 July 2016 в 12:41

2 ответа

tcpdump доступно в main репозиторий в Ubuntu.

Загружать исходный код tcpdump:

  • Удостоверьтесь, что Вам включили репозитории для deb-src введите пакеты, для xenial (16.04) добавьте следующее к /etc/apt/sources.list:

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

    Замена xenial с Вашим кодовым названием выпуска можно найти кодовое название выпуска:

    lsb_release -sc
    
  • Теперь обновите локальный список пакета путем синхронизации с репозиториями:

    sudo apt-get update
    
  • Установите исходный код tcpdump:

    apt-get source tcpdump
    

    Это будет загружено и автоизвлечено на текущем каталоге; также никакая потребность в sudo если у Вас нет разрешения записи на каталоге.

Все файлы, в которых Вы нуждаетесь, в каталоге tcdump-<version> например, для версии 4.5.1 каталог был бы tcpdump-4.5.1.

8
ответ дан 2 December 2019 в 01:26

Я не уверен, что понимаю хорошо Ваш первый вопрос, но:

  1. можно найти источник на GitHub. Как обозначено на сайте разработчика, можно клонироваться tcpdump использование репозитория GitHub:

    git clone https://github.com/the-tcpdump-group/tcpdump.git
    
  2. при компиляции кода необходимо будет решить, где Вы хотите, чтобы Ваш исполняемый файл находился. Просто удостоверьтесь, что это расположено где-нибудь Ваш пользователь PATH, переменная указывает на, или просто измените Ваш PATH для включения того местоположения.

можно также установить его непосредственно от Канонического repo до sudo dpkg -i DEB_PACKAGE или sudo apt-get install DEB_PACKAGE или использование GUI при представлении того... В этом случае Вы найдете свой двоичный файл в /usr/sbin/tcpdump. Кроме того

 whereis tcpdump

даст Вам местоположение Вашего двоичного файла (выше), Вашего исходного кода и Ваших файлов страницы справочника.

4
ответ дан 2 December 2019 в 01:26

Другие вопросы по тегам:

Похожие вопросы: