Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.175] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток. Как можно узнать IP следующих адресов:
P:\vbroker\dir1 - где P имя сетевого хранилища (которое настраивается с помощью утилиты Net use (командная строка)) и \\user-pc\c - где user-pc имя чужого компьютера в локальной сети Иными словами, по P и user-pc необходимо узнать IP удалённых компов. |
Сообщ.
#2
,
|
|
|
Abraziv
nslookup user-pc |
Сообщ.
#3
,
|
|
|
Не работает. Пробовал.
|
Сообщ.
#4
,
|
|
|
А отпинговать комп по его имени?
Пинг выдаст и IP |
Сообщ.
#5
,
|
|
|
Думаю, следует копнуть в сторону GetAddrInfoEx с NS_NETBT
|
Сообщ.
#6
,
|
|
|
Всё сделал средствами QT. Всем спасибо за ответы. Только есть недопонимание. После того, как по имени компа (user-pc) получил IPшники, не понимаю какой использовать, чтобы ломиться на удалённую машину.
|
Сообщ.
#7
,
|
|
|
А пинг чем плох? Он же однозначно связывает имя компа и его IP
|
Сообщ.
#8
,
|
|
|
Цитата Oleg2004 @ А пинг чем плох? Плох тем, что он работает на другом уровне сетевой модели - на TCP/IP. А нужно - на NetBIOS over TCP/IP, как вариант. Проверить несложно. Записываем в С:/WINDOWS/System32/Drivers/etc/hosts строчку: 192.168.1.5 clientbank А в С:/WINDOWS/System32/Drivers/etc/lmhosts строчку: 192.168.1.25 clientbank Ну а потом сделаем "ping clientbank", получим 192.168.1.5 |
Сообщ.
#9
,
|
|
|
Это так
Если кто то пишет в lmhosts кривой IP Но если реально в сети только виндовские машины, тогда конечно. И надо поднимать сервер WINS |
Сообщ.
#10
,
|
|
|
Нет, я о другом. В виндовой реализации команда ping сперва пройдет по уровню TCP (hosts, DNS), и только потом по NBT. Тут я точно не знаю, но предполагаю последовательность: lmhosts, локальная таблица имен, запрос к WINS, UDP бродкаст.
По поводу бродкаста: Скрытый текст Цитата При запуске каждый компьютер в сети с запущенной службой сервера оповещает о своем присутствии в сети главный обозреватель и периодически посылает уведомления главному обозревателю о своем существовании. Если компьютер не присылает уведомление больше, чем 36 минут - он удаляется из списка просмотра главного обозревателя. После этого проходит еще некоторое время, прежде чем резервные обозреватели получат информацию об изменениях от главного обозревателя. Поэтому не стоит удивляться тому, что компьютер уже выключен, а в "Сетевом окружении" он все еще есть ("Это не баг - это фича" ). Когда какой-либо компьютер побеждает на выборах и становится главным обозревателем, он рассылает широковещательную дейтаграмму с запросом доступных серверов. Каждый компьютер, с запущенной службой сервера объявляет о себе в течение 30 секунд. Переформировать список просмотра главного обозревателя можно, только перезапустив соответствующую службу (или воспользовавшись утилитой browstat.exe). Следовательно - утилита ping крайне неоптимальна. Надо искать в Win API средства непосредственно завязанные на службу "обозревателя сети" или "на WINS, если таковое есть в настройках интересующего интерфейса". |
Сообщ.
#11
,
|
|
|
Согласен. Пинг вообще никсовая утилита и про WINS ваще не в курсе.
Поэтому даже в виндовских сетях надо уходить от Wins. Другое дело если это нежелательно. |
Сообщ.
#12
,
|
|
|
Камарады, давайте порешаем вопрос вместе!
Я понимаю, что весь алгоритм поиска заданного может наизусть не знать никто из присутствующих. И, тем не менее, давайте попробуем сообща собрать мозаику... Прежде чем решать, я от себя озвучу "обозримые постулаты": 1) Комп может иметь более одного сетевого интерфейса, посему нужно знать/опросить все 2) Транспортный/сетевой протокол может и не быть TCP/IP, а вполне может быть SPX/IPX(транспортный и сеансовый+сетевой), или монстр SMB - следовательно, не всегда возможно получить IP 3) Имеет место быть \\ip-не-своей-подсети\шара? или не имеет место быть? Давайте хотя бы число алгоритмически обозначим "как правильно искать". Любая инфа - приветствуется! Скрытый текст ЗЫ: Цитата Abraziv @ Доброго времени суток. Как можно узнать IP следующих адресов: P:\vbroker\dir1 - где P имя сетевого хранилища (которое настраивается с помощью утилиты Net use (командная строка)) Если быть точнее - не имя сетевого хранилища, а имя логического диска, которому поставлено отображение сетевой шары. ЗЫ: Цитата Abraziv @ \\user-pc\c - где user-pc имя чужого компьютера в локальной сети Иными словами, по P и user-pc необходимо узнать IP удалённых компов. user-pc - NETBIOS имя |
Сообщ.
#13
,
|
|
|
Цитата JoeUser @ не всегда возможно получить IP Ключевое слово тут - IP, т.е. Интернет-протокол. Он завязан ТОЛЬКО на стек TCP/IP. Да, в никсовых сетях IP ваще нет - там имя компа это до 126 по моему симворов - т.е. сетевой путь к машине. В IPX/SPX - нет IP, там есть имя узла - node Во всех этих трех случаях - совершенно разные адресные структуры. Резуме - нельзя объять необъятное. |
Сообщ.
#14
,
|
|
|
Цитата Oleg2004 @ Да, в никсовых сетях IP ваще нет может ты имел ввиду IPX? Для *никсов для IPX есть поддержка. Для Novell UnixWare и Solaris - "родные", для многих других (Линупс, Фря ...) - сторонние. Цитата Oleg2004 @ В IPX/SPX - нет IP, там есть имя узла - node Ну так да, это я и имел ввиду. Вааще нет)) |