ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Получение всех ip-адресов компа на delphi.
  #1  
Старый 29.10.2009, 11:03
Proger10
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме:
184907

Репутация: 13
Отправить сообщение для Proger10 с помощью ICQ
По умолчанию Получение всех ip-адресов компа на delphi.

Как можно получить все ip адреса компа (а вдруг у юзера несколько (больше одного) сетевых адаптеров)??
ЗЫ Инди не подойдет - много весит!
 
Ответить с цитированием

  #2  
Старый 29.10.2009, 11:22
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


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

Регулярками выдрать из ipconfig'а...
Цитата:
ЗЫ Инди не подойдет - много весит!
о_О, а инди тут при чем?
 
Ответить с цитированием

  #3  
Старый 29.10.2009, 16:25
Proger10
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме:
184907

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

Цитата:
Сообщение от mailbrush  
Регулярками выдрать из ipconfig'а...
о_О, а инди тут при чем?
Там есть IdIpAddrMon.
ЗЫ Я от него и хочу избввится - сейчас он у меня используется.
 
Ответить с цитированием

  #4  
Старый 29.10.2009, 16:27
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Тема не в том разделе создана
 
Ответить с цитированием

  #5  
Старый 29.10.2009, 16:54
Proger10
Познающий
Регистрация: 19.12.2008
Сообщений: 78
Провел на форуме:
184907

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

Если это тонкий намек на то, что мне в [Delphi]/[Pascal] Задай вопрос, получи ответ, то уж извеняйте!! , а если нет, то я непонял....

И всё-же по теме??

Пытался код из индюка вытащить - получилось что-то унылое... и вылетающее по причине Access violation

Последний раз редактировалось Proger10; 29.10.2009 в 16:56..
 
Ответить с цитированием

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

Репутация: 3349


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

можно через сырые сокеты делать это типа так:
Код:
var
n_addr : integer; // Хранит кол-во найденный интерфейсов
n, a : integer;    // Дополнительные переменные
raw_socket:tsocket; // Переменная для создания сокета
WSData:tWSAData;    // Переменная для инициализации библиотеки сокетов
llist:packed record
iAddressCount : Integer;
Address       : Array [0..10] of SOCKET_ADDRESS;
end;

begin
// инициализация библиотеки сокетов
if WSAStartup($202, WSData)<>0 then Errors('[-] WSAStartup'+#13#10) else Oks('[+] WSAStartup'+#13#10);

// создание сокета
raw_socket:=socket(AF_INET, SOCK_RAW, IPPROTO_IP);
// проверка на ошибки
if raw_socket=INVALID_SOCKET  then Errors('[-] Create RAW socket'+#13#10) else Oks('[+] Create RAW socket'+#13#10);


// получаем все интерфейсы? что есть на компьютере.
if WSAIoctl(raw_socket, SIO_ADDRESS_LIST_QUERY, nil, 0,@llist, 1024, @n, nil, nil)=SOCKET_ERROR  then
Errors('[-] WSAIoctl'+#13#10) else Oks('[+] WSAIoctl'+#13#10);

n_addr:=llist.iAddressCount; // получение количества интерфейсов

// если кол-во интерфейсов=0, то ошибка
if n_addr=0 then Errors('[-] Interface count: 0'+#13#10) else Oks('[+] Interface count: '+inttostr(n_addr)+#13#10);

// вывод IP-адресов всех найденных интерфейсов
for a:=0 to n_addr-1 do begin
s:=inet_ntoa(llist.Address[a].lpSockaddr.sin_addr);
Oks('    Interface fount: '+s+#13#10);
end;

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

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

Репутация: 3349


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

P.S. в 5005 статей по Delphi есть статейка
Получение IP-адреса и маски для всех сетевых интерфейсов
 
Ответить с цитированием

  #8  
Старый 29.10.2009, 17:46
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме:
1284900

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

Не проще ли в CMD написать ipconfig /all а потом отпарсить результат...
 
Ответить с цитированием

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

Репутация: 3349


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

2 Gray_Wolf нет не проще. Это самый быстрый способ. Да и не очень то и большой. А вот запустить программу, получить её вывод и отпарсить - это однако боле напряжнее на систему. Тыже чтобы сложит в программа 5+6 не запускаеш калькулятор, не вставляеш туда данные и не эмулируеш нажатия на кнопку Enter
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Секретные Коды _-[A.M.D]HiM@S-_ Сотовый фрикинг 98 09.06.2010 16:01
Virus.Win32.Induc.a – новый вирус для Delphi ErrorNeo Уязвимости 37 26.08.2009 00:33
Поиск всех e-mail адресов в системе jawbreaker *nix 3 25.03.2009 21:33
секреты и коды для сотовых телефонов ))) dinar_007 Сотовый фрикинг 32 05.08.2006 17:06



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


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




ANTICHAT.XYZ