Интерпретация восьмеричного дампа без опций

Я не полагаю, что инструменты, такие как IPTraf представляют любое свое собственное действие в способе, которым Вы думаете, что это гарантировало бы его бывший должный исключить его.

В целом большинство этих типов инструментов использует режим, что сетевые устройства обеспечивают названный Неразборчивый режим. Этот режим позволяет приложениям по существу видеть каждый пакет, когда он течет через NIC так, чтобы они могли быть осмотрены.

Если Вы смотрите на страницу Wikipedia, я обеспечил, IPTraf перечислен как приложение, которое использует эту функцию NIC.

выборка от страницы Wikipedia

В сетях IEEE 802, таких как Ethernet, кольцо с маркерным доступом и IEEE 802.11, и в FDDI, каждый кадр включает целевой Адрес на уровне управления доступом к среде (MAC-адрес). В ненеразборчивом режиме, когда NIC принимает кадр, он обычно отбрасывает его, если кадр не адресован тому, что MAC-адрес NIC или является широковещательным или многоадресным кадром. В неразборчивом режиме, однако, карта позволяет все кадры через, таким образом позволяя компьютеру считать кадры, предназначенные для других машин или сетевых устройств.

4
16.11.2014, 02:34
1 ответ

передозировка не показывает байты по умолчанию, она показывает слова в восьмеричном. Это может не совсем быть интуитивно, но не забывает , передозировка очень , старая команда :-) I будет использовать несколько более простой пример, чем вы:

$ echo -en '\01\02' | od
0000000 001001
0000002

, Поскольку Intel использует прямой порядок байтов архитектура , байты , \01\02 интерпретируется как 00000010 00000001 в двоичном файле.

Как восьмеричные цифры каждый представляет 3 бита, мы можем сгруппировать то число как это:

(0)(000)(001)(000)(000)(001)

, Таким образом, восьмеричное представление тех 2 байтов:

001001

Для повседневного использования это довольно бесполезно; возможно, назад в день это было удобно для того, чтобы вручную отладить дампы памяти :-)

Ваш , пример hello\n :

h = 01101000
e = 01100101
l = 01101100
l = 01101100
o = 01101111
\n= 00001010

Это немного более сложно теперь, потому что восьмеричные цифры представляют 3 бита, но байты составляют 8 битов; так набивка добавляется :-( Результат symbollicaly:

PehPllP\no

Помнят, каждый набор 2 байтов подкачивается из-за порядка байтов. P является набивкой 2 битов. Результат в восьмеричном (использование наклонной черты как разделитель):

00/01100101/01101000/00/01101100/01101100/00/00001010/01101111

Теперь в восьмеричных группах 3 битов:

000 110 010 101 101 000 000 110 110 001 101 100 000 000 101 001 101 111

Переведенный в восьмеричные цифры:

062550066154005157

Это соответствует вашему результату.

В заключении вы, вероятно, узнали, что передозировка без опций хуже, чем бесполезный :-)

4
27.01.2020, 20:55

Теги

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