На этот вопрос уже есть ответ здесь:
Прежде чем задать вопрос, моя статья может иметь некорректное содержание. Я новичок в linux и начинающий разработчик.
У меня вопрос относительно исходного кода linux tcpdump. Как я знаю, tcpdump реализован с помощью libpcap.
Как работает tcpdump? Я думаю, что поскольку двоичный исполняемый файл tcpdump установлен в PATH. верно?
Мой главный вопрос - где находится исходный код tcpdump c? Я уже знаю код библиотеки tcpdump, который доступен на домашней странице tcpdump tcpdump
Я хочу увидеть настоящий код tcpdump, содержащий главную функцию, переменные заголовочные файлы. Пожалуйста, сообщите мне местоположение.
Я использую Ubuntu 16.04 LTS.
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
.
Я не уверен, что понимаю хорошо Ваш первый вопрос, но:
можно найти источник на GitHub. Как обозначено на сайте разработчика, можно клонироваться tcpdump
использование репозитория GitHub:
git clone https://github.com/the-tcpdump-group/tcpdump.git
при компиляции кода необходимо будет решить, где Вы хотите, чтобы Ваш исполняемый файл находился. Просто удостоверьтесь, что это расположено где-нибудь Ваш пользователь PATH
, переменная указывает на, или просто измените Ваш PATH
для включения того местоположения.
можно также установить его непосредственно от Канонического repo до sudo dpkg -i DEB_PACKAGE
или sudo apt-get install DEB_PACKAGE
или использование GUI при представлении того... В этом случае Вы найдете свой двоичный файл в /usr/sbin/tcpdump
. Кроме того
whereis tcpdump
даст Вам местоположение Вашего двоичного файла (выше), Вашего исходного кода и Ваших файлов страницы справочника.