/proc/pid/maps адреса (и преобразование их)

Это для туннелирующего программного обеспечения. См. названную статью Википедии: БОЧКА/TAP для полного изложения.

выборка из страницы справочника бочки FreeBSD

Интерфейс бочки является петлевым механизмом программного обеспечения, который может быть свободно описан как аналог сетевого интерфейса имущества (4), то есть, бочка делает для сетевых интерфейсов, что имущество (4) драйвер делает для терминалов.

Это socat страница документации делает хорошее задание показа, как они могли использоваться.

выборка из socat документа

Некоторые операционные системы позволяют поколение виртуальных сетевых интерфейсов, которые не соединяются с проводом, но с процессом, который моделирует сеть. Часто эти устройства называют БОЧКОЙ или TAP.

Ссылки

5
11.03.2018, 18:09
2 ответа
[115146]Во-первых, вы не можете конвертировать адреса, чтобы они имели только 8 цифр. Адреса памяти могут иметь и будут иметь гораздо большее значение, чем может быть представлено только 8 цифрами.

$ pkgfile --search rc-local.service
community/initscripts-systemd

Причина, по которой адреса памяти представлены в [115526]/proc/pid/maps[115527] в том виде, в каком они есть, находится на строке 283 в [115528]fs/proc/task_mmu. c[115529] (или [115530]task_nommu.c[115531]) в недавнем дереве исходных текстов кернела:

Это сводится к тому, что в любом адресе памяти, который имеет шестнадцатеричное представление меньше 8 цифр, будут добавлены лидирующие нули. Любое значение больше этого будет представлено как есть, а не усечено до 8 цифр. Именно так работает форматирование в стиле printf [115532]printk()[115533].

Что же теперь делать из всего этого? Наверное, вам стоит подумать о том, зачем нужно усекать адреса памяти до 8 цифр. Как вы думаете, в чем польза от этого?[115153]

9
27.01.2020, 20:34
[116831] Эти адреса такие, какие должны быть, и вы не должны думать о них, как о чем-то, что можно усечь. Посмотрите на man-страницу [117320]man proc[117321] и прочитайте о содержимом файла [117322]/proc//maps[117323], чтобы узнать больше о том, что означают эти столбцы.

excerpt

Адреса отображаются таким образом, потому что в этом выводе есть ведущие нули, которые не отображаются. Вы можете использовать эту грубую [117326]awk[117327] команду, которую я создал, которая вернет правильные ведущие нули обратно в выходные данные, так что все будет выстроено в очередь с полным количеством адресного пространства, учитываемого по отношению к адресам.

Пример

Вот пример файла с картами из моей системы.

до

после

3
27.01.2020, 20:34

Теги

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