Вот что имеем:
фрагмент IEEE 802.3 кадра, начинается он сразу с dst.addr (без первых 8 байт: pre+sfd) чтоб понятнее было:
00c0df0ae6a4000476a19780080045a0008c7fe140003706cec9c336c02affffffff
(тут вывод x(программисты на С поймут, для остальных 1 байт два знака)
первые 6 байт (00c0df0ae6a4) это мой MAC адрес, следующие 6 байт (000476a19780) MAC адрес источника(ну гейта, не суть важно)...
далее из доков следует 8 байт (080045a0008c7fe1)- это LLC и SNAP, ну а потом начинается IP датаграмма.
Но по моим прикидкам в заголовке до IP адреса, должно быть 12 байт (весь заголовок 5 откетов по 32 бита, IP адрес это 4 откет - ну и получается 3 откета (12 байт))
а тут ну никак не получается 12 байт.
Ладно, тогда это не IEEE802.3 frame а DIX Ethernet frame, в нем после MAC адресов идет 4 байта, не помню на что указывают, кажется на тип протокола пересылаемых датаграм(кажется так)- или я не прав?
Последнии 4 байта (ffffffff - так написал, чтоб замаскироваться ;-)) это есть мой IP адрес, в этом месте точно IP адрес - поверте наслово ;-)
ну а при таком раскладе получаются что остаются "лишнии" два байта ("в заголовке до IP адреса, должно быть 12 байт" - поните?) если посчитать то остается еще два!
если кто то знает, объясните пожалуйста, в чем я не прав, в чем прав, и где я ошибся, или про что то забыл
>Вот что имеем:
>фрагмент IEEE 802.3 кадра, начинается он сразу с dst.addr (без первых 8
>байт: pre+sfd) чтоб понятнее было:
>00c0df0ae6a4000476a19780080045a0008c7fe140003706cec9c336c02affffffff
>(тут вывод x(программисты на С поймут, для остальных 1 байт два
>знака)
>первые 6 байт (00c0df0ae6a4) это мой MAC адрес, следующие 6 байт (000476a19780)
>MAC адрес источника(ну гейта, не суть важно)...
>далее из доков следует 8 байт (080045a0008c7fe1)- это LLC и SNAP, ну
>а потом начинается IP датаграмма.
>Но по моим прикидкам в заголовке до IP адреса, должно быть 12
>байт (весь заголовок 5 откетов по 32 бита, IP адрес это
>4 откет - ну и получается 3 откета (12 байт))
>а тут ну никак не получается 12 байт.
>Ладно, тогда это не IEEE802.3 frame а DIX Ethernet frame, в нем
>после MAC адресов идет 4 байта, не помню на что указывают,
>кажется на тип протокола пересылаемых датаграм(кажется так)- или я не прав?
>
>Последнии 4 байта (ffffffff - так написал, чтоб замаскироваться ;-)) это есть
>мой IP адрес, в этом месте точно IP адрес - поверте
>наслово ;-)
>ну а при таком раскладе получаются что остаются "лишнии" два байта ("в
>заголовке до IP адреса, должно быть 12 байт" - поните?) если
>посчитать то остается еще два!
>если кто то знает, объясните пожалуйста, в чем я не прав, в
>чем прав, и где я ошибся, или про что то забыл
>
Ошибся в том что считаеш приведенный пакет исходящим ;-))
На самом деле он к тебе шёл ;-))
вот ручной разбор твоего пакета :
00c0df0ae6a4 - dest. mac (твой ведь ?)
000476a19780 - source mac
0800 - ethertype (IP)
45 - ipversion (v4 hdr 20 bytes)
a0 - tos
008c - total length
7fe1 - id
4000 - frag offs ( Don`t frag)
37 - ttl
06 - protocol(tcp)
cec9 - sum
c336c02a - source ip
ffffffff - dest ip (Опять же твой)
>>Вот что имеем:
>>фрагмент IEEE 802.3 кадра, начинается он сразу с dst.addr (без первых 8
>>байт: pre+sfd) чтоб понятнее было:
>>00c0df0ae6a4000476a19780080045a0008c7fe140003706cec9c336c02affffffff
>>(тут вывод x(программисты на С поймут, для остальных 1 байт два
>>знака)
>>первые 6 байт (00c0df0ae6a4) это мой MAC адрес, следующие 6 байт (000476a19780)
>>MAC адрес источника(ну гейта, не суть важно)...
>>далее из доков следует 8 байт (080045a0008c7fe1)- это LLC и SNAP, ну
>>а потом начинается IP датаграмма.
>>Но по моим прикидкам в заголовке до IP адреса, должно быть 12
>>байт (весь заголовок 5 откетов по 32 бита, IP адрес это
>>4 откет - ну и получается 3 откета (12 байт))
>>а тут ну никак не получается 12 байт.
>>Ладно, тогда это не IEEE802.3 frame а DIX Ethernet frame, в нем
>>после MAC адресов идет 4 байта, не помню на что указывают,
>>кажется на тип протокола пересылаемых датаграм(кажется так)- или я не прав?
>>
>>Последнии 4 байта (ffffffff - так написал, чтоб замаскироваться ;-)) это есть
>>мой IP адрес, в этом месте точно IP адрес - поверте
>>наслово ;-)
>>ну а при таком раскладе получаются что остаются "лишнии" два байта ("в
>>заголовке до IP адреса, должно быть 12 байт" - поните?) если
>>посчитать то остается еще два!
>>если кто то знает, объясните пожалуйста, в чем я не прав, в
>>чем прав, и где я ошибся, или про что то забыл
>>
>Ошибся в том что считаеш приведенный пакет исходящим ;-))
>На самом деле он к тебе шёл ;-))
>вот ручной разбор твоего пакета :
>00c0df0ae6a4 - dest. mac (твой ведь ?)
>000476a19780 - source mac
>0800 - ethertype (IP)
>45 - ipversion (v4 hdr 20 bytes)
>a0 - tos
>008c - total length
>7fe1 - id
>4000 - frag offs ( Don`t frag)
>37 - ttl
>06 - protocol(tcp)
>cec9 - sum
>c336c02a - source ip
>ffffffff - dest ip (Опять же твой)Ну то что пакет, комне шел, я знал ;-)
Заклинило меня просто....
А вот за разбор спасибо. Все мне ясно стало теперь :)