Получение необработанных кадров Ethernet в Objective-C

Прежде чем я перейду к тому, что я хочу сделать, будьте уверены, что я уже провел поиск на SO для ответа - результаты с наивысшим рейтингом либо а) не имели достаточно подробностей, чтобы помочь, либо б) используемые языки (C # и т. д.), которые я не хочу использовать, а тем более могу использовать, поскольку сейчас я нахожусь на своей машине с OS X.

Был один результат, который звучал как то, что я хотел, но не только ответ был бесполезен, но и сам вопрос находится на пару уровней выше в стеке, чем мне нужно.

Я хочу реализовать стек TCP/IP в Objective-C для учебных целей. Заставляю себя писать все слои и на самом деле понимать, что в них происходит. Я не собираюсь пытаться изобретать велосипед здесь и не пытаюсь придумать какой-либо оптимизированный результат. Я просто хочу написать структуру стека, которую я могу использовать в простом приложении, чтобы я мог видеть, что происходит в «черном ящике». Я хочу больше заниматься сетевыми технологиями и чувствую, что оказываю себе медвежью услугу, если у меня нет хотя бы элементарных знаний о транспортных механизмах.

Однако для этого требуется, чтобы я мог получить необработанный, неразрезанный, неотредактированный или проанализированный кадр Ethernet непосредственно по мере того, как он выходит из кабеля. Как мне получить такую ​​вещь, работающую в Objective-C?


person blasthash    schedule 26.03.2014    source источник


Ответы (1)


Пожалуйста, посмотрите ЭТО В нем рассказывается, как мы можем захватить необработанные пакеты на iOS с помощью библиотеки pcap. Не существует прямого способа получить необработанные пакеты с помощью RAW_SOCKETS. Итак, вам нужно пройти через библиотеку, предоставленную Mac. Пожалуйста, посмотрите на этот вопрос также может содержать интересующие вас данные.

person jnix    schedule 26.03.2014