Написать программу на С.

Цена договорная
  • Не выполнено
  • 68 просмотров
  • Создано
  • Консультация и обучение
  • Задание № 304276
Адрес
Не указан
Начать
Бюджет
Не знаю, предлагайте ваши цены
Оплата
Наличными
Нужно
Нужно реализовать функцию parse_sip - разбор SIP пакета и вывод типа сообщения: INVITE, ACK, BYE, CANCEL, REGISTER или OPTIONS. (язык C, Linux) Прототип функции: parse_sip(uint8_t *data); uint8_t *data - указатель на начало данных пакета, который нужно разобрать. Даны структуры eth_hdr, ip_hdr, udp_hdr, которыми можно пользоваться: struct eth_hdr { uint8_t src[ETHER_ADDR_LEN]; // Source MAC uint8_t dst[ETHER_ADDR_LEN]; // Destination MAC uint16_t ether_type; // L3 protocol number } struct ip_hdr { uint8_t version_ihl; uint8_t type_of_service; uint16_t total_length; uint16_t packet_id; uint16_t fragment_offset; uint8_t time_to_live; uint8_t next_proto_id; // L4 protocol number uint16_t header_checksum; uint32_t src; uint32_t dst; } struct udp_hdr { uint16_t src; uint16_t dst; uint16_t total_length; uint16_t checksum; } Все остальные структуры, если они понадобятся, необходимо определить самостоятельно. Никакие вспомогательные функции вызывать не требуется. Требуется определить, является ли пакет SIP пакетом (UDP src и dst порты - 5060). Если является, то вывести сообщение «SIP packet type TYPE», где TYPE - один из перечисленных выше типов (тип нужно определить, разобрав SIP заголовок).

Другие задания в категории

Заказчик этого задания
Евгений С.

25 лет Москва

Отзывы: 5
Случайные отзывы