Вопрос

Я пытаюсь создать инспектор сетевых пакетов.

Я знаю, что вы можете сделать это с помощью libpcap, но это не сниффер, мне нужно подделать сетевой пакет, прежде чем он был отправлен по сети.(отправка через socks-сервер)

Я нашел 2 способа сделать это :

  • Используя NKE.(Расширение сетевого ядра)
  • Использование DYLD_INSERT_LIBRARIES для вставки библиотеки для подключения сетевой функции.

Какой метод , по вашему мнению , является лучшим ?

Это было полезно?

Решение

Ни то, ни другое, используйте устройство tun / tap: http://tuntaposx.sourceforge.net/

Вам нужно будет перенаправить трафик на это устройство, изменить его, а затем отправить обратно.Вы можете сделать это с помощью правил брандмауэра.Есть много примеров использования tun / tap по всему миру с открытым исходным кодом, это не сложно.

Преимущество:это расширение ядра, но стандартный расширение ядра, и поэтому вам не нужно беспокоиться о его отладке.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top