Инспектор сетевых пакетов в Mac OSX
-
20-09-2019 - |
Вопрос
Я пытаюсь создать инспектор сетевых пакетов.
Я знаю, что вы можете сделать это с помощью libpcap, но это не сниффер, мне нужно подделать сетевой пакет, прежде чем он был отправлен по сети.(отправка через socks-сервер)
Я нашел 2 способа сделать это :
- Используя NKE.(Расширение сетевого ядра)
- Использование DYLD_INSERT_LIBRARIES для вставки библиотеки для подключения сетевой функции.
Какой метод , по вашему мнению , является лучшим ?
Решение
Ни то, ни другое, используйте устройство tun / tap: http://tuntaposx.sourceforge.net/
Вам нужно будет перенаправить трафик на это устройство, изменить его, а затем отправить обратно.Вы можете сделать это с помощью правил брандмауэра.Есть много примеров использования tun / tap по всему миру с открытым исходным кодом, это не сложно.
Преимущество:это расширение ядра, но стандартный расширение ядра, и поэтому вам не нужно беспокоиться о его отладке.