![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Внутренний IP [D5]
Deltas © (2009-01-02 22:15:00)Здравствуйте, уважаемые мастера. Извиняюсь за избитый, наверняка, вопрос. Как можно определить внутренний IP адрес компьютера? То есть тот, который настраивается в настройках TCP/IP локального сетевого подключения.
Сергей М. (2009-01-05 14:24:00) [1]
> Anatoly Podgoretsky © (04.01.09 21:16) [21]
А по барабану какой адрес он предоставляет - все равно он предоставляет подключение к своей локальной сети.
Anatoly Podgoretsky (2009-01-04 21:16:00) [2]> Сергей М. (04.01.2009 11:07:17) [17]
А если провайдер предоставляет например адрес 192.168.х.х
Anatoly Podgoretsky (2009-01-04 21:15:00) [3]Где все таки запрошеный вывод ipconfig, который по твоим словам лихо расправляется с опрделением?
Anatoly Podgoretsky (2009-01-04 21:13:00) [4]
> > Если например нет ни одной сетевой платы?
>
> Просто к слову, цитата из Википедии: "Использование адреса
> 127.0.0.1 позволяет устанавливать соединение и передавать
> информацию для программ-серверов, работающим на том же компьютере,
> что и программа-клиент, независимо от конфигурации аппаратных
> сетевых средств компьютера (не требуется сетевая карта,
> модем, и прочее коммуникационнное оборудование, интерфейс
> реализуется при помощи драйвера псевдоустройства в ядре
> операционной системы)."
Читать умеешь, что по твоему это "при помощи драйвера псевдоустройства" - это и есть виртуальная сетевая плата. Ни одна сетевая плата не работает сама по себе, а только через ее драйвер. Поэтому если нет сетевой платы любого вида, хоть нуль модем, нет и адреса 127.0.0.1
Deltas (2009-01-04 11:25:00) [5]
> Anatoly Podgoretsky © (03.01.09 15:17) [11]
> > KilkennyCat (03.01.2009 15:09:10) [10]
>
> Ты уверен?
> Если например нет ни одной сетевой платы?
Просто к слову, цитата из Википедии: "Использование адреса 127.0.0.1 позволяет устанавливать соединение и передавать информацию для программ-серверов, работающим на том же компьютере, что и программа-клиент, независимо от конфигурации аппаратных сетевых средств компьютера (не требуется сетевая карта, модем, и прочее коммуникационнное оборудование, интерфейс реализуется при помощи драйвера псевдоустройства в ядре операционной системы)."
> Smile (04.01.09 10:37) [15]
> Чем тебя не устраивает function GetLocalIP: String;
Эта функция вообще возвращает только первый IP-адрес в списке всех IP-адресов всех сетевых интерфейсов компьютера.
> Сергей М. © (04.01.09 11:07) [17]
> При достаточной уверенности в соблюдении требований RFC
> 1918...
Все понятно. Большое спасибо.
Сергей М. (2009-01-04 11:07:00) [6]
> Deltas
При достаточной уверенности в соблюдении требований RFC 1918
http://tools.ietf.org/html/rfc1918(см. п.3)
достаточно проверить каждый из имеющихся в распоряжении IP-адресов каждого из интерфейсов на вхождение в диапазоны, оговариваемые в RFC
Сергей М. (2009-01-04 10:56:00) [7]
> какой именно из этих IP-адресов относится к подключению
> по локальной сети
Оба.
> подключение к интернету (PPP адаптер)
"Подключение к интернету" есть ничто иное как подключение к локальной сети Интренет-провайдера.
Поэтому ответом на вопрос
> какой именно из этих IP-адресов относится к подключению
> по локальной сети
будет оба.
Smile (2009-01-04 10:37:00) [8]> Deltas © (04.01.09 10:24) [14]
Чем тебя не устраиваетfunction GetLocalIP: String;
из Сергей М. © (02.01.09 22:31) [1]
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1199825920&n=4
?
Deltas (2009-01-04 10:24:00) [9]ipconfig /all
Отображается два подключения: по локальной сети (Ethernet адаптер) и подключение к интернету (PPP адаптер). Получить текущий список IP-адресов сетевой карты не проблема. Вопрос заключается в том, как с помощью Win API определить какой именно из этих IP-адресов относится к подключению по локальной сети...
> Поросенок Винни-Пух © (03.01.09 14:42) [9]
> какая разница что это
Отдельное спасибо за помощь :)
Сергей М. (2009-01-03 20:32:00) [10]
> Deltas
ipconfig -all
KilkennyCat (2009-01-03 17:27:00) [11]
> Anatoly Podgoretsky © (03.01.09 15:17) [11]
гм.... теперь не уверен. Точнее, не помню... уж сто лет как не собирал несетевую машину. Ночью проверю.
Anatoly Podgoretsky (2009-01-03 15:17:00) [12]> KilkennyCat (03.01.2009 15:09:10) [10]
Ты уверен?
Если например нет ни одной сетевой платы?
KilkennyCat (2009-01-03 15:09:00) [13]
> Anatoly Podgoretsky © (03.01.09 13:21) [6]
А неважно. Важно то, что он есть сразу, как только винды установишь ;) Значит, это изначальный адрес компа.
Поросенок Винни-Пух (2009-01-03 14:42:00) [14]какая разница что это
Deltas (2009-01-03 14:34:00) [15]
> Тогда приведи ipconfig -an
Что такое -an? параметр запуска?
Anatoly Podgoretsky (2009-01-03 13:22:00) [16]> Deltas (03.01.2009 8:33:05) [5]
Тогда приведи ipconfig -an
Anatoly Podgoretsky (2009-01-03 13:21:00) [17]> KilkennyCat (03.01.2009 6:12:04) [4]
Это виртуальный интерфейс lo (local)
Deltas (2009-01-03 08:33:00) [18]Доброе утро!
У меня один сетевой интерфейс. При подключении к интернету, он имеет 2 IP-адреса. Мне необходимо определить внутренний IP-адрес, то есть тот, который используется для подключения по локальной сети. Это не является невозможным, исходя из того, что утилита ipconfig справляется с этой задачей.
> KilkennyCat © (03.01.09 06:12) [4]
> неправда! есть! 127.0.0.1 вот!
Уже давно не смешно, правда...
KilkennyCat (2009-01-03 06:12:00) [19]
> У компьютера нет ИП адреса(сов)
неправда! есть! 127.0.0.1 вот!
Сергей М. (2009-01-02 23:08:00) [20]
> Deltas
см. [2]
1. Адрес есть у сетевого интерфейса.
2. Сетевой интерфейс имеет отношение к сетевому хосту.
3. Хост <> Компьютер.
4. Каждый интерфейс может иметь более одного адреса.
5. Хост можети иметь более одного сетевого интерфейса.
Думай. Делай выводы. Корректируй постановку задачи.