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

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

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

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

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

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

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

Похожие вопросы
Монетка Екатеринбург
от 130 000 до 160 000 ₽
Гринатом Петрозаводск
До 80 000 ₽
Алабуга Екатеринбург
от 127 500 ₽