LINUX.ORG.RU

История изменений

Исправление gag, (текущая версия) :

т. е. менять IP, контрольную сумму и т. д., что не очень удобно…

Да, разумеется, если нужно заменить содержимое, то кое-что надо будет заменить дополнительно.

Вообще нравиться идея mv с написанием своей библиотеки сокетов и заменой их с помощью LD_PRELOAD. Вопрос только где взять исходный код berkley sockets чтобы не писать с нуля. Но менять код библиотеки мне кажется ещё менее удобным.

На самом деле mv имел ввиду не замену кода, а создание обёртки. Переопределяешь send(), в ней создаёшь новый пакет, копируя всё что тебе нужно из старого и добавляя новое, потом просто вызываешь настоящий send() и всё.

Исходная версия gag, :

т. е. менять IP, контрольную сумму и т. д., что не очень удобно… Да, разумеется, если нужно заменить содержимое, то кое-что надо будет заменить дополнительно.

Вообще нравиться идея mv с написанием своей библиотеки сокетов и заменой их с помощью LD_PRELOAD. Вопрос только где взять исходный код berkley sockets чтобы не писать с нуля. Но менять код библиотеки мне кажется ещё менее удобным.

На самом деле mv имел ввиду не замену кода, а создание обёртки. Переопределяешь send(), в ней создаёшь новый пакет, копируя всё что тебе нужно из старого и добавляя новое, потом просто вызываешь настоящий send() и всё.