Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.84/257: Рейтинг темы: голосов - 257, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 11.02.2009
Сообщений: 5
1

Как определить IP компьютера в локальной доменной сети

11.02.2009, 11:27. Показов 50798. Ответов 29
Метки нет (Все метки)

Подскажите, плиз, как можно определить IP компа в домменной сети. Но! Для поиска ip надо использовать не имя компа (например, виндовозная команда ping -a имякомпа не подходит), а логин пользователя под которым он вошел в домен. Т.е. зная доменный логин мне надо найти IP компютера. Кто может подсказать как это сделать?
Заранее спасибо
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2009, 11:27
Ответы с готовыми решениями:

Как правильно раздать Wi-Fi через адаптер стационарного компьютера в доменной сети?
Здравствуйте! Уважаемые сисадмины, помогите разобраться в проблеме. Познания в сетях -...

Письмо по локальной (доменной) сети
Здравствуйте, не могу настроить отправку таблицы из бд в локальной(доменной) сети. <?...

Изолирование виртуальной локальной сети от физической доменной
Здравствуйте! Я создал две виртуальных машины server 2019 и windows 10 так же я создал виртуальный...

Мистическая работа компьютера в доменной сети!!
Приветствую всех на данном форуме! проблема такая, имеется 30 компов + сервер доменный и +...

29
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 100
19.03.2010, 15:03 2
Меня тоже интересует этот вопрос,так как меня определяют,и я хочу определять-)
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 15:16 3
Насколько я помню - в домене есть 2 вещи:
1. Имя компа
2. учетная запись (логин/пароль)

1-е вы можете легко узнать с другого компьютера, а вот чтобы узнать второе - у вас, как минимум, должны быть права администратора, чтобы сходить на сервер и получить от него список учетных записей и их ассоциацию по компьютеру...

Ну.. или троян, который будет при входе на комп в папку "общие доки" пихать файл с логином текущего пользователя .

а вы уже программно, из всей сети их собирать и читать
1
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 100
19.03.2010, 15:19 4
Как узнать имя чужого компа?
Я выхожу на один форум,и знаю только НИК пользователя,чей IP меня интересует.
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 15:22 5
Цитата Сообщение от violleta Посмотреть сообщение
Как узнать имя чужого компа?
не уверен, но можно программно опросить "сетевое окружение" и получить оттуда список компутеров с их именами
0
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 100
19.03.2010, 15:23 6
но меня же вычисляет пользователь
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 15:23 7
Винда ведь именно так и делает)
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 15:27 8
вот смотрите:
Домен
Как определить IP компьютера в локальной доменной сети


а вот компы домена с именами
Как определить IP компьютера в локальной доменной сети


т.е. винда априори их знает и показывает, значит точно есть WinApi команда или процедурка вывода имен компутеров из домена.
1
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 100
19.03.2010, 15:30 9
Что мне нужно сделать,чтобы определить,я не понимаю настолько,чтобы воспользоваться этими табличками-)))
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 15:32 10
вот что нашел.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Получить список компьютеров, подключенных к сети.
 
Святослав Ушаков
дата публикации 15-05-2000 00:00
Версия для печати 
unit NetUtils;
interface
uses Windows, Classes;
function GetContainerList(ListRoot:PNetResource):TList; Type
  {$H+}
   PNetRes = ^TNetRes;
   TNetRes = Record
             dwScope       : Integer;
             dwType        : Integer;
             dwDisplayType : Integer;
             dwUsage       : Integer;
             LocalName     : String;
             RemoteName    : String;
             Comment       : String;
             Provider      : String;
           End;
  {H-}
 
implementation
uses SysUtils;
 type
 PnetResourceArr = ^TNetResource; {TNetResource - это запись,
                      эквивалентная TNetRes, за исключением того, что
                      вместо типов string там типы PChar. }
 
 function GetContainerList(ListRoot:PNetResource):TList;
{возвращает список сетевых имён с подуровня ListRoot, каждый
элемент списка TList - это PNetRes, где поле RemoteName определяет
соответственно сетевое имя элемента списка. Если ListRoot=nil, то
возвращается самый верхний уровень типа:
1. Microsoft Windows Network
2. Novell Netware Network
Чтобы получить список доменов/рабочих групп сети Microsoft, нужно
вызвать эту функцию второй раз, передав ей в качестве параметра,
соответствующий элемент списка, полученного при первом её вызове.
Чтобы получить список компьютеров домена - вызвать третий раз...}
{Единственное, я не знаю как узнать имя текущего домена.}
Var
  TempRec     : PNetRes;
  Buf         : Pointer;
  Count,
  BufSize,
  Res         : DWORD;
  lphEnum     : THandle;
  p           : PNetResourceArr;
  i           : SmallInt;
  NetworkList : TList;
Begin
  NetworkList := TList.Create;
  Result:=nil;
  BufSize := 8192;
  GetMem(Buf, BufSize);
  Try
    Res := WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
RESOURCEUSAGE_CONTAINER{0}, ListRoot,lphEnum);
    {в результате получаем ссылку lphEnum}
    If Res <> 0 Then Raise Exception(Res);
    Count := $FFFFFFFF; {требуем выдать столько записей в
список, сколько есть}
    Res := WNetEnumResource(lphEnum, Count, Buf, BufSize);
                 {в буфере Buf - списочек
                  в виде массива указателей на структуры типа TNetResourceArr
                  а в Count - число этих структур}
    If Res = ERROR_NO_MORE_ITEMS Then Exit;
    If (Res <> 0) Then Raise Exception(Res);
    P := PNetResourceArr(Buf);
    For I := 0 To Count - 1 Do
    Begin           //Требуется копирование из буфера, так как он
      New(TempRec); //действителен только до следующего  вызова функций группы
WNet
      TempRec^.dwScope := P^.dwScope;
      TempRec^.dwType := P^.dwType ;
      TempRec^.dwDisplayType := P^.dwDisplayType ;
      TempRec^.dwUsage := P^.dwUsage ;
      TempRec^.LocalName := StrPas(P^.lpLocalName);  {имеются  ввиду вот эти указатели}
      TempRec^.RemoteName := StrPas(P^.lpRemoteName); {в смысле  - строки PChar}
      TempRec^.Comment := StrPas(P^.lpComment);
      TempRec^.Provider := StrPas(P^.lpProvider);
      NetworkList.Add(TempRec);
      Inc(P);
    End;
    Res := WNetCloseEnum(lphEnum);
    {а следующий вызов - вот он!}
    If Res <> 0 Then Raise Exception(Res);
    Result:=NetWorkList;
    Finally
      FreeMem(Buf);
  End;
End;
end.
 
Пример:
 
uses NetUtils;
var
 List:TList;
begin
 List:=TList.Create;
 List:=GetContainerList(nil); // Получили список сетей.
                             //  Как правило первая - сеть Microsoft
 List:=GetContainerList(List[0]); //Получаем список доменов сети
 for i:=0 to List.Count-1 do
   if PNetRes(List[i])^.RemoteName='YourDomain' then
     begin
     List:=GetContainerList(List[i]);
     Break;
     end;
 // теперь в List - список включённых компьютеров
 // в домене/рабочей группе YourDomain. Каждый элемент списка имеет
 // тип PNetRes. Само имя компьютера можно получить List[i])^.RemoteName
 for i := 0 to List.Count-1 do
  writeln(PNetRes(List[i])^.RemoteName);
end.
(www.delphikingdom.com)

Добавлено через 1 минуту
после того, как вы определили нужный вам компьютер (можно узнать его IP) вам без прав администратора - никуды..
1
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 100
19.03.2010, 15:34 11
Без прав админа того форума,где мне известен Ник,или без прав моего компа?
Простите если вопрос нелепый-)))
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 15:40 12
Каждый пользователь домена получает определенные права.
Например - на использование уже установленных программ права есть, а на установку новых - прав нет.

Вам нужны права доступа к базе домена (там хранятся Имя компьютера, его IP и список пользователей этого компьютера (их может быть и не 1)) или, если у вас есть права администратора, - вы можете с эмулировать подключение к удаленному рабочему столу КАЖДОГО компьютера, пока не найдете компьютер, на котором сейчас активен нужный пользователь. Потом просто ping имя этого компа в сети
0
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 100
19.03.2010, 15:43 13
Цитата Сообщение от Андрей Борисови Посмотреть сообщение
Каждый пользователь домена получает определенные права.
Например - на использование уже установленных программ права есть, а на установку новых - прав нет.

Вам нужны права доступа к базе домена (там хранятся Имя компьютера, его IP и список пользователей этого компьютера (их может быть и не 1)) или, если у вас есть права администратора, - вы можете с эмулировать подключение к удаленному рабочему столу КАЖДОГО компьютера, пока не найдете компьютер, на котором сейчас активен нужный пользователь. Потом просто ping имя этого компа в сети
А разве всем пользователям дают такие права?
И кто дает,админ форума?
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 16:41 14
Цитата Сообщение от violleta Посмотреть сообщение
права доступа к базе домена
имеет только администратор.
0
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 100
19.03.2010, 16:43 15
Да ,но мой Ай-пи определяет простой пользователь,или он это делает с разрешения админов?
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 16:51 16
Да ,но мой Ай-пи определяет простой пользователь
т.е.?
Мы сейчас говорим про локальную сеть или про форум?
0
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 100
19.03.2010, 16:52 17
Про форум,но не этот,другой.
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 17:00 18
violleta, а вот это уже зависит от возможностей форума. И от тех настроек которые он позволяет вам сделать.
"Светит" или нет он IP пользователя, показывает или нет браузер, и т.д.
Возможно на том форуме есть настройка "Показывать свой IP"....

Добавлено через 2 минуты
Кстати. Если он вам говорит ваш IP типа 192.168.1.2 то это внутренний IP. Не пугайтесь.
0
0 / 0 / 0
Регистрация: 29.01.2010
Сообщений: 100
19.03.2010, 17:05 19
Он вычисляет меня,с какого бы Ника я не написала,и знаю точно,что ай-пи мой тоже определяет,как и админы того форума.
Он развиртуализировал меня,написал мои Ф.И.О.,часть биографии,оскорбил мою дочьку,мониторит мою частную жизнь,через инфу от соседей,высмеивает мою профессию,и часть биографии,вообщем маньяк-)
0
712 / 400 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
19.03.2010, 17:09 20
Антивирус стоит?

Добавлено через 56 секунд
А вообще - это уголовно-наказуемо.. называется "Вмешивание в частную жизнь".
Мой вам совет - обратиться в милицию
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2010, 17:09

Как узнать IP-адрес компьютера в локальной сети
Как программно узнать IP? То есть на форме есть кнопка и текстбокс, как сделать чтобы при нажатии...

Как произвести DDoS-атаку компьютера с ОС Linux в локальной сети?
Получил задание в университете: сделать DDoS-атаку. Всё будет производиться исключительно в...

Как задействовать DVD-rom другого компьютера по локальной сети?
Привет народ!Подскажите пожалуйста, у меня вот такая проблема!У меня дома 2 компа соединеных через...

Как отследить, что скачивается с локального компьютера в локальной сети?
Можно ли в локальной сети на локальном компьютере увидеть, какие файлы с него скачиваются на другие...

Как отправить сообщение с одного компьютера на другой компьютер в локальной сети?
Необходимо, зная ip адрес или имя компьютера вывести сообщение с одного компьютера на другой. как...

Как с удаленного компьютера по модемному соединению быть равноценным членом локальной сети?
Не могли бы вы помочь. Суть дела такая – на первый взгляд простая, но на данный момент мной не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.