Задать вопрос
@Sersoftin

Как перехватывать TCP пакетов на лету?

Приветствую всех. Вопрос состоит в следующем: стоит задача по модификации сетевых пакетов. Необходимо перехватывать пакеты в программе, которые летят по опр. ip адресам через опр. порты (сами пакеты отсылаются не моей программой), перехватывать их, обрабатывать и слать дальше. Размер пакета может после обработки поменяться. Сделать это необходимо под виндой. Смотрел в сторону WinPcap, но:
1) кажись, он вообще не позволяет менять то, что долетело до уровня, на котором он работает.
2) пугает своей низкоуровневостью. Не очень хотелось бы после модификации данных в пакете руками там же править его заголовок (размер, чексумму и т.д.). Так же пугает то, что необходимо указывать интерфейс, который он должен слушать. Хочется так, чтобы само как-то определяло, где там интернет и что нужно слушать.

Хуки send/recv невозможны по опр. причинам, как и использование прокси. Но хочется некий аналог. Золотую середину между хуками и pcap. Существует ли такое и что вы можете мне посоветовать использовать в данной ситуации?
  • Вопрос задан
  • 1460 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Merion Academy
    Администрирование MS Windows Server
    1 месяц
    Далее
  • Skillbox
    Специалист по кибербезопасности 2.0/ Этичный хакер
    12 месяцев
    Далее
Решения вопроса 1
IlyaEvseev
@IlyaEvseev
Opensource geek
tcpreplay.synfin.net/wiki/tcprewrite

А также fragroute и netsed.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Rou1997
@Rou1997
По каким-таким причинам невозможны хуки на функции WinAPI, но возможна установка драйвера ядра WinNT?

Еще один вариант - это реверс-инжиниринг, а затем "патчинг" того приложения, которое отправляет пакеты.
Ответ написан
Tujh
@Tujh
Самое лучшее решение - это всё-таки поставить проксирующую машину. Всё остальное потребует слишком много времени.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы