Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

Как узнать IP-адрес компьютера?   Найти похожие ветки 

 
Calibr ©   (2006-08-20 21:28) [0]

Как узнать IP-адрес компьютера?


 
DprYg ©   (2006-08-20 21:34) [1]

uses
 WinSock;

function GetLocalIP: String;
const WSVer = $101;
var
 wsaData: TWSAData;
 P: PHostEnt;
 Buf: array [0..127] of Char;
begin
 Result := "";
 if WSAStartup(WSVer, wsaData) = 0 then begin
   if GetHostName(@Buf, 128) = 0 then begin
     P := GetHostByName(@Buf);
     if P <> nil then Result := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
   end;
   WSACleanup;
 end;
end;


 
DrPass ©   (2006-08-20 21:50) [2]


> Как узнать IP-адрес компьютера?

127.0.0.1


 
Calibr ©   (2006-08-20 22:21) [3]

А что он у всех компов одинаковый чтоли?


 
Чапаев ©   (2006-08-20 23:08) [4]

Открою секрет: у компов не IP-адреса вовсе. Адрес бывает у сетевого интерфейса.


 
Чапаев ©   (2006-08-20 23:10) [5]

"не" в смысле "нет".


 
Мичман Панин   (2006-08-21 02:18) [6]

В военное время каждый компьютер должен знать и четко исполнять команду "Айпиконфиг". Вражеский компьютер допрашивается на иностранном языке: ipconfig.


 
Calibr ©   (2006-08-21 13:25) [7]


> Открою секрет: у компов не IP-адреса вовсе. Адрес бывает
> у сетевого интерфейса

Хорошо, как тогда узнать адрес сетевого интерфейса?


 
Сергей М. ©   (2006-08-21 13:33) [8]


> как тогда узнать адрес сетевого интерфейса?


Чем ipconfig.exe не устроил ?


 
Calibr ©   (2006-08-21 14:05) [9]


> Чем ipconfig.exe не устроил ?

127.0.0.1 чтоли? так от на всех компах одинаковый, а мне надо чтоб номер был только на одном компе.


 
Сергей М. ©   (2006-08-21 14:21) [10]

Вот результат работы IPCONFIG:

       DNS суффикс этого подключения . . :
       Описание  . . . . . . . . . . . . : &#9492;фряЄхЁ Realtek RTL8139(A) PCI Fast
Ethernet
       Физический адрес. . . . . . . . . : 00-55-B9-4D-77-7E
       DHCP разрешен . . . . . . . . . . : Нет
       IP-адрес  . . . . . . . . . . . . : 192.168.7.6
       Маска подсети . . . . . . . . . . : 255.255.255.0
       Основной шлюз . . . . . . . . . . : 192.168.7.111
       DNS-серверы . . . . . . . . . . . : 192.168.7.1
                                           192.168.7.111
       Основной WINS-сервер  . . . . . . : 192.168.7.1

Где ты здесь увидел 127.0.0.1 ?


 
Calibr ©   (2006-08-21 14:23) [11]

И что мне дает ipconfig.exe? Консольное окно мелькнуло и все, а мне нужен IP-адрес.


 
Rouse_ ©   (2006-08-21 14:24) [12]

Calibr, По поводу IP адресов, вникай: http://rouse.front.ru/netifenum.zip


 
Calibr ©   (2006-08-21 14:25) [13]


> Сергей М.


Ну я имею ввиду программно узнать IP-адрес.


 
Сергей М. ©   (2006-08-21 14:26) [14]


> Calibr ©   (21.08.06 14:23) [11]
>
> И что мне дает ipconfig.exe? Консольное окно мелькнуло и
> все, а мне нужен IP-адрес


Стартуешь программно процесс ipconfig.exe с перехватом StdOut и получаешь полный текст того, что было нарисовано в окне консоли с момента запуска ipconfig.exe и по самое его окончание.
Извлечь же из полученного текста интересующую инф-цию - дело проще некуда.


 
Calibr ©   (2006-08-21 14:34) [15]


> Сергей М.


Спасибо!!!


 
Calibr ©   (2006-08-21 14:41) [16]


> Сергей М.


Блин, что то не могу найти такое StdOut. Ты не ошибся с синтаксисом?


 
grisme ©   (2006-08-21 14:44) [17]

Чей ip-то? какого "компьютера"?
локалхост 127.0.0.1


 
Calibr ©   (2006-08-21 14:49) [18]


> grisme

Мне нужен IP-адрес, который отображается в консольном приложении ipconfig.exe только вот не могу оттуда взять информацию не подскажете как?


 
Rouse_ ©   (2006-08-21 14:53) [19]


> Блин, что то не могу найти такое StdOut. Ты не ошибся с
> синтаксисом?

Это делается через GetStdHandle.
Только не парься с этим, выше я тебе привел пример кода (качай пример по ссылке), который получает и выводит эту же информацию.


 
Сергей М. ©   (2006-08-21 14:53) [20]


> Calibr ©   (21.08.06 14:41) [16]


Не там ищешь, наверно.

Читай внимательно описание структуры STARTUPINFO в параметрах ф-ции CreateProcess() - там фигурирует hStdOutput, это хэндл пайпа, создаваемого вызовом CreatePipe()


 
Calibr ©   (2006-08-21 15:09) [21]


> Rouse_


А что прога мне ничто не выводит? Компонент TTreeView пустой.


 
Rouse_ ©   (2006-08-21 15:18) [22]

Значит не видит твоих сетевых интерфейсов, что уже само по себе интересно :)


 
Calibr ©   (2006-08-21 15:22) [23]


> Rouse_

Так что, если комп не врублен в сеть, то и IP-адрес узнать нельзя? Объясни мне тогда, пожалуйста, как изъять информацию из консольного приложения ipconfig.exe? Или приведи пример кода.


 
Rouse_ ©   (2006-08-21 15:26) [24]

запусти консоль (пуск -> выполнить -> CMD) в ней набери
ipconfig /all >c:\ipconfig.txt
покажи что написано в появившемся файле c:\ipconfig.txt


 
SergP.   (2006-08-21 15:29) [25]

> Хорошо, как тогда узнать адрес сетевого интерфейса?


А сетевых интерфейсов у компа может быть много, кроме того их вообще может не быть...


 
Calibr ©   (2006-08-21 15:35) [26]


> Rouse_


Вот содержимое файла ipconfig.txt:

Настройка протокола IP для Windows


 
Rouse_ ©   (2006-08-21 15:53) [27]


> Calibr ©   (21.08.06 15:35) [26]
>
> > Rouse_
>
>
> Вот содержимое файла ipconfig.txt:
>
> Настройка протокола IP для Windows

И это все? Тогда у тебя нет установленных сетевых интерфейсов.


 
n0name   (2006-08-22 14:38) [28]

Когда ты не в сети, IP ты не узнаешь.
PS: IP не у сетевого интерфейса, а задется в сетевом подключении.


 
Сергей М. ©   (2006-08-22 14:46) [29]


> n0name   (22.08.06 14:38) [28]


Глупости.


 
derex   (2006-08-22 16:30) [30]

В первом посту выыодится локальный ip в сети
А каким образом можно узнать его инетовский динамический ip.


 
Rouse_ ©   (2006-08-22 16:46) [31]

Тот который выдал тебе провайдер? Достучаться до его роутера через SNMP и спросить: http://www.sources.ru/protocols/snmp_learning.shtml
Если не даст доступа (что скорее всего и будет) запросить у внешнего сервиса, к примеру http://f10.net.ru/ страничку из которой можешь выдрать данную информацию элементарным парсингом...


 
n0name   (2006-08-22 17:47) [32]


> Глупости.

Где конкретно?


 
Rouse_ ©   (2006-08-22 18:13) [33]


> Где конкретно?

Да собственно весь твой пост глупость.
Зачем говорить о тех вещах в которых не разбираешся?


 
n0name   (2006-08-22 19:02) [34]


> Когда ты не в сети, IP ты не узнаешь.

Как узнать? Ни через IpHlpAPI, ни через winsock у меня не получилось обнаружить реальный IP.

> PS: IP не у сетевого интерфейса, а задется в сетевом подключении.

Ты возражаешь против этого?


 
Отец Кондратий   (2006-08-23 08:16) [35]

To n0name
> Когда ты не в сети, IP ты не узнаешь.

>Как узнать? Ни через IpHlpAPI, ни через winsock у меня не получилось >обнаружить реальный IP.

> PS: IP не у сетевого интерфейса, а задется в сетевом подключении.

>Ты возражаешь против этого?

Я тоже возражаю, если никто не против... Переставим слова в Вашем посте и получим ответ: IP адрес сетевого интерфейса задаётся в сетевом подключении!
Касаемо IP адреса: IP на интерфейсе можно запросто узнать даже без подключения к сети если считать из реестра содержимое ключа GUID, соответствующее этому интерфейсу (IPAddress -> REG_MULTI_SZ).


 
n0name   (2006-08-23 09:49) [36]


> Отец Кондратий   (23.08.06 08:16) [35]

У нас в сети динамическое распределение IP, так что вышеизложенный способ не подойдет.


 
Rouse_ ©   (2006-08-23 10:58) [37]


> > Когда ты не в сети, IP ты не узнаешь.
>
> Как узнать? Ни через IpHlpAPI, ни через winsock у меня не
> получилось обнаружить реальный IP.

Странно, выдернул кабель - IP определяется, что я делаю не так?


> > PS: IP не у сетевого интерфейса, а задется в сетевом подключении.
> Ты возражаешь против этого?

Естественно, для тебя это откровение что оборудование может иметь собственный IP адрес без всякого сетевого подключения?


 
saxon   (2006-08-23 11:14) [38]


> Странно, выдернул кабель - IP определяется, что я делаю
> не так?

Не задизаблили (:)) все локал соединение.


 
n0name   (2006-08-23 12:30) [39]


> Естественно, для тебя это откровение что оборудование может
> иметь собственный IP адрес без всякого сетевого подключения?
>

Да. Я всегда думал что уникальность сетевого оборудования выражается в MAC-адресе.

> Странно, выдернул кабель - IP определяется, что я делаю
> не так?

Дык соединения то существует. Отключи его и не определится.


 
Сергей М. ©   (2006-08-23 12:54) [40]


> n0name   (23.08.06 12:30) [39]



> IP не у сетевого интерфейса, а задется в сетевом подключении


При регистрации и настройке сетевого подключения как раз и происходит регистрация и настройка сетевых интерфейсов, с которыми это подключение будет ассоциировано.

Одно и то же сет.подключение м.б. ассоциировано с одним или более сет.интерфесов. Разумеется, если временно отключено, ни один из интерфейсов, ассоциированных с этим подключением, не доступен, не говоря уже о параметрах интерфейса.



Страницы: 1 2 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.05 c
6-1156412329
AlexAlex
2006-08-24 13:38
2007.01.28
Ошибка при отмене печати из объекта TWebbrowser.


2-1168329857
-John-Doe-
2007-01-09 11:04
2007.01.28
Вопрос по указателям.


2-1168589667
novill
2007-01-12 11:14
2007.01.28
Как сделать в колонке грида возможность как выбора из списка,


8-1148644131
Михайлов Антон
2006-05-26 15:48
2007.01.28
Как слушать радио?


2-1168690267
AlexanderMS
2007-01-13 15:11
2007.01.28
Как ProgressBar поместить на одну из панелей StatusBar?