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