Шрифт:
Сдвиги на 4, 14 и 24 байта объясняются на рис. 31.9 [128]. Сдвиг, равный 24 байтам, показанный для заголовков SLIP и PPP, применяется в BSD/OS 2.1.
Несмотря на то, что в названии DLT_EN10MB фигурирует обозначение «10МВ», этот тип канального уровня используется для сетей Ethernet, в которых скорость передачи данных равна 100 Мбит/с.
Наша функция
В листинге 29.12 показана функция
Листинг 29.12. Функция next_pcap: возвращает следующий пакет
Временная отметка относится к тому моменту, когда пакет был считан устройством захвата пакетов, в противоположность моменту фактической передачи пакета процессу, которая может произойти чуть позже. Переменная
Если мы посмотрим на библиотечную реализацию функции
Рис. 29.5. Организация вызовов функций для чтения из библиотеки захвата пакетов
Наша функция
Листинг 29.13. Функция udp_check: проверка полей в заголовках IP и UDP