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

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

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2007, 18:55   #1
ruPy
Пользователь
 
Аватар для ruPy
 
Регистрация: 13.12.2007
Сообщений: 11
Печаль Написать сканер с диапозоном IP

Здрасть люди у меня проблема не могу написать сканер, чтоб он использовал не 1 IP адрес, а переберал диапозон IP всего для одного порта.
Если кто знает- помогите!!!!!!!
В каждом нашем действии есть смысл...Но иногда его трудно найти.

Последний раз редактировалось ruPy; 13.12.2007 в 19:10.
ruPy вне форума Ответить с цитированием
Старый 13.12.2007, 20:55   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

и что же именно у тебя не получается, показывай свой код
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 13.12.2007, 23:50   #3
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Код:
for i:=100 to 255 do begin
	for m:=100 to 255 do begin
		for n:=100 to 255 do begin
			for x:=100 to 255 do begin
				ip:=inttostr(i)+'.'+inttostr(m)+'.'+inttostr(n)+'. '+inttostr(x); {здесь будет получатся в строковой переменной IP адреса от 100.100.100.100 до 255.255.255.255 поменяй 100 и 255 в циклах на другие числа и будут другие адреса получатся!}
			end;
		end;
	end;
end;

Последний раз редактировалось Никки; 13.12.2007 в 23:56. Причина: теперь код смотрица понятнне
Никки вне форума Ответить с цитированием
Старый 14.12.2007, 08:09   #4
zAlexandrz
Пользователь
 
Аватар для zAlexandrz
 
Регистрация: 03.11.2007
Сообщений: 25
По умолчанию

получение диапазона :


Код:
procedure TForm1.Button15Click(Sender: TObject);
begin
  start[1]:=strtoint(edit3.text);
  start[2]:=strtoint(edit4.text);
  start[3]:=strtoint(edit5.text);
  start[4]:=strtoint(edit6.text);
  stop[1]:=strtoint(edit7.text);
  stop[2]:=strtoint(edit8.text);
  stop[3]:=strtoint(edit9.text);
  stop[4]:=strtoint(edit10.text);
  count:=1;
  listip[count]:=inttostr(start[1])+'.'+inttostr(start[2])+'.'+
                  inttostr(start[3])+'.'+inttostr(start[4]);
  while  not((start[1]=stop[1])and (start[2]=stop[2])and(start[3]=stop[3])and
         (start[4]=stop[4])) do
    begin
      inc(count);
      inc(start[4]);
      listip[count]:=inttostr(start[1])+'.'+inttostr(start[2])+'.'+
                      inttostr(start[3])+'.'+inttostr(start[4]);
      for i:=4 downto 2 do
        if start[i]=255  then
        begin
          inc(start[i-1]);
          start[i]:=0;
        end;
    end;
  listbox1.Clear;
  for i:=1 to count do
    listbox1.Items.Add(listip[i]);
  p:=1;
end;
listip -массив ФйПи
count - количество эллементов

Сканирование порта
(используется что то типа рекурсии)
Код:
procedure TForm1.Button16Click(Sender: TObject);
begin
      inc(conline1);
      ClientSocket.Port:=7778;
      ClientSocket.Host:= listip[conline1];
      ClientSocket.Active:=true;
end;

procedure TForm1.ClientSocketError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
  ErrorCode:=0;
  if conline1<>count then
    Button16.Click
end;

procedure TForm1.ClientSocketConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  inc(conline);
  online[conline]:=listip[conline1];
  ClientSocket.Close;
  if conline1<>count then
    Button16.Click
end;

мАССИВ IP c открытыми портом 7778 - online
количество IP - conline

Последний раз редактировалось zAlexandrz; 14.12.2007 в 08:19.
zAlexandrz вне форума Ответить с цитированием
Старый 14.12.2007, 09:25   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

а список адресов с помощью winnet не проще получать ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 14.12.2007, 13:59   #6
ruPy
Пользователь
 
Аватар для ruPy
 
Регистрация: 13.12.2007
Сообщений: 11
Радость

Спасибо народ щас попробую и выберу что-нидь!!!!
В каждом нашем действии есть смысл...Но иногда его трудно найти.
ruPy вне форума Ответить с цитированием
Старый 14.12.2007, 19:07   #7
zAlexandrz
Пользователь
 
Аватар для zAlexandrz
 
Регистрация: 03.11.2007
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
а список адресов с помощью winnet не проще получать ?
Недели 4 назад спрашивал, никто не смог дать вразумительный ответ, так что сделал сам, как мог. Кстати, есть один баг и я неуспел его убрать- если конкчное значение поставить 255 то попадаем в бесконечный цикл
zAlexandrz вне форума Ответить с цитированием
Старый 14.12.2007, 19:10   #8
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Когда вы спрашивали вам дали четкий ответ
http://programmersforum.ru/showpost....30&postcount=3
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ibm Anyplace Kiosk и его сканер штрих-кода Rs232 California Компьютерное железо 2 06.07.2008 18:41
задача под windows,помогите написать.Надо написать на Borland C++Builder 6. eddddii Помощь студентам 9 23.05.2008 17:04
Помогите написать прогу!Среди заданных целых чисел k, l, m найти пары кратных.Написать по проще чемЭесть vdv08 Паскаль, Turbo Pascal, PascalABC.NET 4 04.04.2008 16:56
Сканер портов One.Love Работа с сетью в Delphi 4 18.02.2008 16:05
Сканер Sanek_ntsk Общие вопросы Delphi 3 18.12.2007 19:54