Каков путь к ip_input.c?

329
m-tech

Функция ip_rcv, определенная в файле ip_input.c, отвечает за доставку дейтаграмм к протоколу более высокого уровня или пересылку его на другой хост. Он состоит из функций и перехватчиков сетевого фильтра, которые обрабатывают входящую дейтаграмму.

Я использую Ubuntu, но не могу найти ip_input.c. Мне нужен прямой путь к ip_input.c перед установкой ... enter image description here

во время установки ... enter image description here после установки ... enter image description here и перезапуска ... enter image description here

0
У вас не установлены ядра * * source *. Кроме того, зачем вообще делать это локально, когда есть множество сайтов, которые позволяют просматривать исходный код Linux? Daniel B 8 лет назад 0
@DanielB: grep, find и т. Д. Работают * намного * лучше на локальной копии. dirkt 8 лет назад 0

1 ответ на вопрос

0
dirkt

Используйте findдля этого на вашей локальной копии исходных кодов ядра:

$ cd /usr/src/linux $ find . -name ip_input.c  ./net/ipv4/ip_input.c 

И вот вам путь.

дорогой, вы можете увидеть изображение выше. Я использую Ubuntu 16, но я не могу найти ip_input.c. какой у вас дистрибутив linux и какова его версия? m-tech 8 лет назад 0
Вы установили только заголовки ядра *, а не исходный код ядра. `apt-cache search linux-source` показывает, какие версии исходного кода ядра вы можете установить (используя` apt-get install`, или что вы предпочитаете устанавливать пакеты). Он установит исходники в `/ usr / src / linux-source- * version *`. Рекомендуется сделать символическую ссылку `/ usr / src / linux` на источник, который вы использовали для компиляции ядра, или на версию ядра, работающую на вашем компьютере (некоторые утилиты используют это). dirkt 8 лет назад 0
О, и вам не нужно быть пользователем root для проверки исходных кодов ядра. Не входите в систему как root, если вы не хотите выполнять работу системного администратора. И даже тогда «sudo» лучше - меньше места для ошибок. dirkt 8 лет назад 0
Боже мой, я установил его, но теперь я хочу знать, если я изменю содержимое ip_input.c, это изменение повлияет на мой Linux? m-tech 8 лет назад 0
dirkt в ip_input.c есть функции, которые ядро ​​должно использовать для них. Поэтому, когда ip_input.c не было в моем linux, как мое ядро ​​использовало эти функции? Вы знаете, 10 минут назад я скачать ip_input.c m-tech 8 лет назад 0
Ubuntu и любой другой дистрибутив используют предварительно скомпилированный образ ядра (`dpkg -i '* linux-image *' | grep ^ ii`, чтобы увидеть, какие из них вы установили). Это изображение содержит скомпилированные функции в ip_input.c, среди множества других. Если вы скажете нам *, почему * вас интересуют эти функции (если вы не просто хотите прочитать исходный код, который, возможно, из ваших вопросов может оказаться не тем, что вы хотите, хотя я изначально предполагал, что это так), мы можем быть в состоянии помочь вам лучше. :-) dirkt 8 лет назад 0
Уважаемый dirkt, вы добры. Я хочу изменить функцию Linux. Но у меня есть базовые знания о Linux. Я установил Linux и хочу изменить некоторые функции. То есть я хочу настроить свой Linux. что я должен делать? Должен ли я скачать ядро ​​и изменить, а затем скомпилировать его? или я должен изменить свой текущий Ubuntu без компиляции? Пожалуйста, помогите мне, если можете. m-tech 8 лет назад 0
Да, если вы хотите изменить функцию Linux, вам нужно изменить исходный код, скомпилировать его и установить ядро. Однако, имея только базовые знания, вы не сможете этого сделать, потому что вы не знаете, как изменить источник. Что вы хотите изменить, и почему вы хотите изменить это? Какова ваша цель? Модифицировать дейтаграммы? Вероятно, есть другой способ сделать это (например, функции сетевого фильтра ядра). dirkt 8 лет назад 0
Уважаемый dirkt, у меня новый взгляд на сеть и я не могу принять эту роль для сети. Я хочу создать новый сетевой протокол, я думаю, что если я сосредоточусь на проблеме, я могу это сделать. Я знаю TCP / IP, но мне не нравится работать с симулятором. я думаю, что могу. Диркт, ты вежливый и добрый человек. Спасибо за помощь. m-tech 8 лет назад 0

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