Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получение всех ip удаленного компьютера 
:(
    Опции темы
mntek
Дата 21.9.2005, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


freakin_brain
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.8.2004
Где: saint-petersburg

Репутация: нет
Всего: 1



есть сеть с 2мя типами адресов - внутренние (ip вида 10.0.*.*) и внешние (ip вида 192.168.*.* и 195.19.*.*). необходимо установить соответствие между внешними и внутренними адресами, используя только внешний ip для определения внутреннего.
PM MAIL WWW ICQ   Вверх
Snowy
Дата 21.9.2005, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Изнутри можно использовать traceroute.
Снаружи никак, если только не поставить внутри специальный сервер, который будет сообщать эту инфу.
PM MAIL   Вверх
mntek
Дата 21.9.2005, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


freakin_brain
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.8.2004
Где: saint-petersburg

Репутация: нет
Всего: 1



самое интересное, что такое возможно.. но вот как?_(
есть человек, который подобное сделал, но не хочет общаться на данную тему.
PM MAIL WWW ICQ   Вверх
z-END
Дата 21.9.2005, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 1
Всего: 102



Цитата(mntek @ 21.9.2005, 10:30)
- внутренние (ip вида 10.0.*.*) и внешние (ip вида 192.168.*.* и 195.19.*.*).

я плохо разбираюсь в струкре IP адресов, но мне почему-то кажется что:
10.* - внешний
195.* - внешний
192.* - внутренний
или я неправ?



--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Snowy
Дата 21.9.2005, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(mntek @ 21.9.2005, 09:54)
самое интересное, что такое возможно..

Вероятно, если вручную формировать IP пакеты трэйсроута.
P.S. Интересная сеть, если все машины имеют внутренние и внешние IP.
Напрашивается вопрос "Зачем?"
PM MAIL   Вверх
mntek
Дата 21.9.2005, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


freakin_brain
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.8.2004
Где: saint-petersburg

Репутация: нет
Всего: 1



Цитата(z @ 21.9.2005, 10:32)
я плохо разбираюсь в струкре IP адресов, но мне почему-то кажется что:
10.* - внешний
195.* - внешний
192.* - внутренний
или я неправ?


конкретно для нашей сети - нет.
и 10.0.* и 192.168.* по идее выделены под внутренние, но у нас немного другое разделение
Добавлено @ 10:47
Цитата(Snowy @ 21.9.2005, 10:39)
Вероятно, если вручную формировать IP пакеты трэйсроута.
P.S. Интересная сеть, если все машины имеют внутренние и внешние IP.
Напрашивается вопрос "Зачем?"


внешние адреса имеют не все машины... вот в этом-то и все дело_(
хм...для поиска ресурсов, общения, etc...
PM MAIL WWW ICQ   Вверх
Snowy
Дата 21.9.2005, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



По-моему я сегодня немного притормаживаю.
Если я ничего не путаю, то gethostbyname и gethostbyaddr должны возвращать список всех айпишников запрашиваемой машины.
Или это только при совпадении имен... Так byaddr не может совпасть...
У меня под рукой нет машины с двумя IP. Попробуй сам проверить.
PM MAIL   Вверх
mntek
Дата 23.9.2005, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


freakin_brain
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.8.2004
Где: saint-petersburg

Репутация: нет
Всего: 1



нет... не возвращает..(
по-видимому надо просматривать все интерфейсы _удаленной_ машины, чтобы определить и все ее ip. а вот как это сделать?
PM MAIL WWW ICQ   Вверх
Snowy
Дата 23.9.2005, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(mntek @ 23.9.2005, 00:37)
по-видимому надо просматривать все интерфейсы _удаленной_ машины, чтобы определить и все ее ip. а вот как это сделать?

А никак. С чего это она будет тебе рассказывать про свои интерфейсы.
Могу предложить вариант: просканить имена всех машин в одной подсети, во второй, третей. А потом провести соответствие.
Может и существуют какие-то другие недокументированные хакерские средства, но мне они неизвестны.
PM MAIL   Вверх
mntek
Дата 23.9.2005, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


freakin_brain
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.8.2004
Где: saint-petersburg

Репутация: нет
Всего: 1



Цитата(Snowy @ 23.9.2005, 09:53)
Могу предложить вариант: просканить имена всех машин в одной подсети, во второй, третей. А потом провести соответствие.


имена тоже различаются. внешняя подсеть имеет свой днс. можно еще по маку сравнивать тогда, но его тоже не всегда получить можно, особенно на *никсовых машинах_(
PM MAIL WWW ICQ   Вверх
Snowy
Дата 23.9.2005, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(mntek @ 23.9.2005, 10:00)
имена тоже различаются. внешняя подсеть имеет свой днс.

Различаются полностью или только суффиксом?

Цитата(mntek @ 23.9.2005, 10:00)
можно еще по маку сравнивать

Нельзя. На разных адаптерах он разный, так же как и IP.
PM MAIL   Вверх
mntek
Дата 23.9.2005, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


freakin_brain
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.8.2004
Где: saint-petersburg

Репутация: нет
Всего: 1



Цитата(Snowy @ 23.9.2005, 10:09)
Различаются полностью или только суффиксом?

полностью.
PM MAIL WWW ICQ   Вверх
mntek
Дата 24.9.2005, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


freakin_brain
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.8.2004
Где: saint-petersburg

Репутация: нет
Всего: 1



Цитата(Snowy @ 23.9.2005, 10:09)
Нельзя. На разных адаптерах он разный, так же как и IP.

вот я что подумал, а мак-то один. адаптер-то один. просто на нем прописано 2 разных ip.
PM MAIL WWW ICQ   Вверх
mntek
Дата 14.10.2005, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


freakin_brain
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.8.2004
Где: saint-petersburg

Репутация: нет
Всего: 1



хм... разобрался_)
используем функцию NetWkstaGetInfo из NetApi32.dll:

Код

function GetDomainName(sname: PWideChar): AnsiString;
type
  WKSTA_INFO_100 = record
    wki100_platform_id: Integer;
    wki100_computername: PWideChar;
    wki100_langroup: PWideChar;
    wki100_ver_major: Integer;
    wki100_ver_minor: Integer;
  end;

type
  TWinNT_NetWkstaGetInfo = function(ServerName: PWideChar; level: Integer; var
    BufPtr: Pointer): Integer; stdcall;
  TWinNT_NetApiBufferFree = function(BufPtr: Pointer): Integer; stdcall;

var
  WinNT_NetWkstaGetInfo: TWinNT_NetWkstaGetInfo;
  WinNT_NetApiBufferFree: TWinNT_NetApiBufferFree;
  WSNT: ^WKSTA_INFO_100;
  EC: DWORD;
  hNETAPI: THandle;
begin
  try
    Result := '';
    hNETAPI := LoadLibrary('NETAPI32.DLL');
    if hNETAPI <> 0 then
      begin
        @WinNT_NetWkstaGetInfo := GetProcAddress(hNETAPI, 'NetWkstaGetInfo');
        @WinNT_NetApiBufferFree := GetProcAddress(hNETAPI, 'NetApiBufferFree');
        EC := WinNT_NetWkstaGetInfo(sname, 100, Pointer(WSNT));
        if EC = 0 then
          begin
            Result := WideCharToString(WSNT^.wki100_computername);
            WinNT_NetApiBufferFree(Pointer(WSNT));
          end;
      end;
  finally
    if hNETAPI <> 0 then
      FreeLibrary(hNETAPI);
  end;
end;

вызывать например так:
Код

  Memo1.Lines.Add(GetDomainName(StringToOleStr(Edit1.Text)));


зы - код работает только под nt-based системы.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.