История изменений
Исправление gag, (текущая версия) :
т. е. менять IP, контрольную сумму и т. д., что не очень удобно…
Да, разумеется, если нужно заменить содержимое, то кое-что надо будет заменить дополнительно.
Вообще нравиться идея mv с написанием своей библиотеки сокетов и заменой их с помощью LD_PRELOAD. Вопрос только где взять исходный код berkley sockets чтобы не писать с нуля. Но менять код библиотеки мне кажется ещё менее удобным.
На самом деле mv имел ввиду не замену кода, а создание обёртки. Переопределяешь send(), в ней создаёшь новый пакет, копируя всё что тебе нужно из старого и добавляя новое, потом просто вызываешь настоящий send() и всё.
Исходная версия gag, :
т. е. менять IP, контрольную сумму и т. д., что не очень удобно… Да, разумеется, если нужно заменить содержимое, то кое-что надо будет заменить дополнительно.
Вообще нравиться идея mv с написанием своей библиотеки сокетов и заменой их с помощью LD_PRELOAD. Вопрос только где взять исходный код berkley sockets чтобы не писать с нуля. Но менять код библиотеки мне кажется ещё менее удобным.
На самом деле mv имел ввиду не замену кода, а создание обёртки. Переопределяешь send(), в ней создаёшь новый пакет, копируя всё что тебе нужно из старого и добавляя новое, потом просто вызываешь настоящий send() и всё.