ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

скан диапозона ip [delphi]
  #1  
Старый 18.02.2010, 15:53
OPF_Nik
Познающий
Регистрация: 07.11.2009
Сообщений: 36
Провел на форуме:
77411

Репутация: 0
Отправить сообщение для OPF_Nik с помощью ICQ
По умолчанию скан диапозона ip [delphi]

народ подскажите, есть диапозон, например 127.0.0.1-127.0.255.255, как идеи можете предложить, что бы просканить весь диапозон?
 
Ответить с цитированием

  #2  
Старый 18.02.2010, 17:09
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме:
724939

Репутация: 108
Отправить сообщение для =Zeus= с помощью ICQ
По умолчанию

В интернете есть куча исходников на эту тему. Есть идея воспользоваться гуглом и не морочить другим мозги.
 
Ответить с цитированием

  #3  
Старый 19.02.2010, 10:22
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Даже тут на форуме были примеры этого.
работает всё по принципу. типа так:
Код:
start_addr := inet_addr('127.0.0.1');
stop_addr := inet_addr('127.0.255.255');

while start_addr <> stop_addr do
begin
 выполняешь свои действия
 asm
  mov eax, start_addr
  bswap eax
  inc eax
  bswap eax
  mov start_addr, eax
 end;
end;
т.е. ты определишь начальный и конечный адрес. Затем просто увеличиваешь начальный на 1 и так пока он не станет равным конечному.
Но т.к. в IP порядок байт обратный тому который хранится в памяти, то для увеличения придется поменять порядок байт, что и делает инструкция bswap
 
Ответить с цитированием

  #4  
Старый 19.02.2010, 13:09
flacs
Познающий
Регистрация: 28.01.2009
Сообщений: 90
Провел на форуме:
432613

Репутация: 80
По умолчанию

Код:
  function IpToInt(ip: string): dword; // превращаем IP в число
  begin
    result := inet_addr(PChar(ip));
    result := (result shl 24) or (result and $FF00 shl 8) or
              (result and $FF0000 shr 8) or (result shr 24);
  end;

  function IntToIP(i: DWORD): string;  // число в IP
  var kk: DWORD;
  begin
    kk:=(i shl 24) or (i and $FF00 shl 8) or
        (i and $FF0000 shr 8) or (i shr 24);
    Result:= inet_ntoa(in_addr(kk))
  end;

  procedure Scan;
  begin
    AddrTo:=IpToInt(IpTo); AddrFrom:=IpToInt(IpFrom);
    for i:=AddrTo to AddrFrom do ping_addr(IntToIp(i));
  end;
 
Ответить с цитированием

  #5  
Старый 19.02.2010, 13:16
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

2 flacs вот какраз bswap и выполняет
kk:=(i shl 24) or (i and $FF00 shl 8) or (i and $FF0000 shr 8) or (i shr 24);
только выполняет это всё намного быстрее

или как вариант можно юзать апишку из winsock - ntohl она считай и реализует эти действия

Последний раз редактировалось slesh; 19.02.2010 в 13:18..
 
Ответить с цитированием

  #6  
Старый 19.02.2010, 13:22
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

канал какой? лвс или че еще? для лвс делал арпсканер
__________________


snow white world wide
 
Ответить с цитированием

  #7  
Старый 19.02.2010, 21:51
rankor777
Познающий
Регистрация: 11.01.2008
Сообщений: 42
Провел на форуме:
95213

Репутация: 49
Отправить сообщение для rankor777 с помощью ICQ
По умолчанию

Ужас, зачем вам в делфи вставки на асме? Для ускорения чтоли? xD
Сканить порты лучше внешним сканером (VNC ByPass Auth например), потому как они лучше по-любому.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скан паспортов(не кардинг) fatalo Болталка 6 28.04.2009 00:27



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ