Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2010, 22:06   #1
Redeemer_09
Новичок
Джуниор
 
Регистрация: 04.09.2009
Сообщений: 2
Лампочка перебор ip адресов???

вопрос такой: необходимо отправлять пакеты в которых адрес источника постоянно изменяются
Я написал: при определении диапазона от 192.168.0.0 до 192.168.0.255 передача корректна, а при задании диапазона 192.168.0.0-192.168.255.255 передача некорректна вот пример??

Код:

 char* SRC=new char[17];

 char* SRC2=new char[17];
char* DST=new char[17];
 
cout<<"source address: ";
cin.getline(SRC,17);
cout<<"source address: ";
cin.getline(SRC2,17);
cout<<"dest address: ";
cin.getline(DST,17);
unsigned long i=inet_addr(SRC);
....

...

 while(i!=inet_addr(SRC2))
     {
       
               if(((char)(i>>16))==((char)(inet_addr(SRC2)>>16)))   //Байт 4
                 {
                     while((i>>24)!=(inet_addr(SRC2)>>24))
                       {       
                          SETTINGS(i,inet_addr(DST)); //передача адресов в  // функцию в которой формируется ip пакет ... 
                       i+= inet _addr("0.0.0. 1"); 
                       }
                      if((i>>24)==(inet_addr(SRC2)>>24))
                       {
                        SETTINGS(i,inet_addr(DST));
                        break;
                        }
                  }
           else if(((char)(i>>16))!=((char)(inet_addr(SRC2)>>16)))   //Байт 3 //Этот цикл почем-то работает некорректно??
           { 
                
                      while((i>>24)!=(inet_addr("0.0.0.255")>>24))   
                       {
                           SETTINGS(i,inet_addr(DST));    
                           i+=inet_addr("0.0.0.1");
                       }
                         if((i>>24)==(inet_addr("0.0.0.255")>>24))
                          {
                            SETTINGS(i,inet_addr(DST));
                          }
                       
                      
                 if((i>>24)==(inet_addr("0.0.0.255")>>24))
                     {
                            SETTINGS(i,inet_addr(DST));
                          
                        while((i>>24)!=(inet_addr("0.0.0.0")>>24))
                           {
                             i-=inet_addr("0.0.0.1");
                           } 
                    if(((char)(i>>16))!=((char)(inet_addr(SRC2)>>16))) 
                    i+=inet_addr("0.0.1.0");
                    }       
            }   
 }

Последний раз редактировалось Redeemer_09; 25.12.2010 в 22:20.
Redeemer_09 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Червяк лезет с разных ip-адресов... nadia111 Безопасность, Шифрование 10 09.01.2010 19:49
Реализовать перебор всех возможных IP-адресов (С++) ak74m Помощь студентам 0 09.04.2009 13:59
Чтение адресов созданных BCC? ITM Безопасность, Шифрование 1 06.02.2009 05:22
Чтение адресов созданных BCC? ITM Свободное общение 1 06.02.2009 04:51
Режим реальных адресов smileman Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 08.01.2009 01:47