Можно ли увидеть реальный исходный код 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. Как указано на сайте разработчика, вы можете клонировать
tcpdumpGitHub репозиторий, использующий: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
даст вам местоположение вашего двоичного файла (см. выше), вашего исходного кода и файлов справочной страницы.