k hackf;
int hackflag;
# endif
........................................
=========== end ======================
тепер нам треба перехопити відправку пакета
йдемо у файл net/ipv4/ip_output.c і після всіх рядків де є 'iph-> saddr =' вставляємо наш код # ifdef CONFIG_HACKIP
if ((sk-> hackf.src_addr! = 0) && (sk-> hackflag == 1))
{
iph-> saddr = sk-> hackf.src_addr;
printk ("HACKIP: ip_build_and_send .. % Dn ", iph-> saddr);
}
# endif
Залишилось мале: у файл include/linux/in.h додаємо рядок # define IP_HACKIP 16
в файл net/Config.in
bool 'HACKIP facilities' CONFIG_HACKIP робимо
cd/usr/src/linux
make menuconfig
make dep
make bzImage
cp arh/i386/boot/bzImage/Boot/kursach
правимо lilo.conf або/boot/grub/menu.lst
соответствуюших команда
reboot ....
тепер протестуємо нашу програму перепрошую за можливу наявність зайвих include просто я переробив файл з друго-го проекту
============ rel.c ========================
/* Written by Gleb Paharenko 2003 */
/* присвячує Кевін Митник */
/* і прекрасною весні у травні 2003-го */
# include
# include
# include
# include
# include
# include
# include
# include
# include
# define IP_HACKIP 16
int main ()
{
int sd, res;
int value = 1;
int sval = 0;
int oval = 1;
char buffer [100];
struct sockaddr_in addr, raddr;
bzero (buffer, sizeof (buffer));
if ((sd = socket (PF_INET, SOCK_RAW, 6))
<