Может ли libnet использоваться для внедрения пакетов tcp / искажения пакетов?

Я только взглянул на введение в libnet,

Кажется, упоминается поддержка udp,ip, но не tcp?

Поддерживает ли он tcp вообще?

1 ответ

Глядя здесь, кажется, что есть функция, связанная с tcp, так что я думаю, да, вы можете внедрить сегменты tcp с помощью libnet.

int libnet_build_tcp(u_short sport, u_short dport, u_long seq,
            u_long ack, u_char control, u_short win, u_short urg,
            const u_char *payload, int payload_s, u_char *buf);

libnet_build_tcp () создает пакет TCP (протокол управления передачей). Предоставляются порт источника, порт назначения, номера последовательности и подтверждения, биты управления (которые могут быть логически ИЛИ объединены для установки нескольких флагов - см. Пример ниже), объявленный размер окна, срочный указатель, указатель на необязательную полезную нагрузку данных, размер полезной нагрузки и, наконец, указатель на предварительно выделенный блок памяти для пакета. Чтобы просто создать заголовок TCP без полезной нагрузки данных, нужно выделить только байты TCP_H.

Другие вопросы по тегам