Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];

Вниз

мак адрес по ip в сети   Найти похожие ветки 

 
Aplay   (2004-04-24 08:04) [0]

Подскажите как узнать мак адрес сетевой карты в делфе зная только IP по сети


 
Verg ©   (2004-04-24 08:29) [1]

function SendARP(DestIP:DWORD;SrcIP:DWORD; var pMacAddr; var PhyAddrLen:DWORD):DWORD;stdcall;external "IPHLPAPI.DLL";


 
Rouse_ ©   (2004-04-24 10:28) [2]

Только есть один минус:
SendARP - применима только для NT
для Win 9x-Me придется воспользоваться GetIpNetTable
Пример возьми здесь:
http://www.delphimaster.ru/cgi-bin/download.pl?look=1&id=1078646471&n=1


 
uny   (2004-04-24 10:36) [3]

а есть ли mac адрес у сотового? если skylink?


 
Rouse_ ©   (2004-04-24 12:28) [4]

По skylink не в курсе, но если мобильный подключен как модем - до конечно будет...


 
Verg ©   (2004-04-24 12:39) [5]


> Rouse_ ©   (24.04.04 10:28) [2]


GetIpNetTable вернет содержимое ARP кэша.
Так что, перед этим надо хотя бы попинговать целевой IP.


 
Piter ©   (2004-04-24 13:01) [6]

Rouse_ (24.04.04 12:28) [4]
но если мобильный подключен как модем - до конечно будет...


Да? Всю жизнь думал, что MAC адрес есть только у сетевых карт, для них и предназначен.

Verg (24.04.04 12:39) [5]
GetIpNetTable вернет содержимое ARP кэша.
Так что, перед этим надо хотя бы попинговать целевой IP


а что это даст? пинговаться будет, исходя из буфера...


 
Rouse_ ©   (2004-04-24 13:15) [7]

> Так что, перед этим надо хотя бы попинговать целевой IP.
Забыл это упомянуть...

> Да? Всю жизнь думал, что MAC адрес есть только у сетевых
> карт, для них и предназначен.

Да ну?
Стало быть только для сетевых и точка?
Ну-ну...


 
uny   (2004-04-24 13:22) [8]

Piter, а ваша программа которая по интерфейсам считает трафик даже определила какой то мак номер, но он странный - так это не он?


 
Piter ©   (2004-04-24 13:26) [9]

uny   (24.04.04 13:22) [8]
это не он?


не знаю

Rouse_ (24.04.04 13:15) [7]
Да ну?
Стало быть только для сетевых и точка?


а зачем MAC адрес модему?


 
Rouse_ ©   (2004-04-24 14:03) [10]

> [9] Piter ©   (24.04.04 13:26)
Ну давай вспомним семиуровневую модель OSI

OSI Model Layer

  --------------  -----------------------------------------------------
               |  |                                                  |
  7 - Applica- |  |        User Applications                         |
      tion     |  |                                                  |
  --------------  -----------------------------------------------------
  --------------  -----------------------------------------------------
               |  |           Operating System                       |
  6 - Presen-  |  |                  &                               |
      tation   |  |       Microsoft OS/2 LAN Manager                 |
  --------------  -----------------------------------------------------
                  ********** NetBIOS Interface **********************
  --------------  --------------- ------------ ----------- ------------
               |  |           | |          | |         | |           |
  5 - Session  |  | Microsoft | | XNS      | | Other   | | Ungermann |
               |  | NetBEUI   | | Protocol | | Protocol| |  Bass     |
  --------------  | Protocol  | | Driver   | | Driver  | | PCNIU     |
  --------------  | Driver    | |          | |         | | Driver    |
               |  |           | |          | |         | |           |
  4 - Trans-   |  |           | |          | |         | |           |
      port     |  |           | |          | |         | |           |
  --------------  |           | |          | |         | |           |
  --------------  |           | |          | |         | |           |
               |  |           | |          | |         | |           |
  3 - Network  |  |           | |          | |         | |           |
               |  |           | |          | |         | |           |
  --------------  ------------- ------------ ----------- |           |
                    ********** NDIS Interface  ********* |           |
  --------------  ------------- ------------ ----------- |           |
               |  | IBM Token | |3Com Ethnt| | Other   | |           |
  2 - Data     |  | Ring MAC  | |  MAC     | | MAC     | |           |
      Link     |  |  Driver   | | Driver   | | Driver  | |           |
  --------------  ------------- ------------ ----------- -------------
  --------------  ------- ------- ------------ ----------- ------------
               |  | TR  | | TR  | | Ethernet | | Other   | | UB PCNIU |
  1 - Physical |  |Adptr| |Adptr| | Adapter  | | Adapter | |   LAN    |
               |  | #1  | | #2  | |          | |         | |  Adapter |
  --------------  ------- ------- ------------ ----------- ------------


Внимательней присмотрись к второму уровню...


 
Piter ©   (2004-04-24 14:10) [11]

а где тут IP интерфейс?


 
Piter ©   (2004-04-24 14:14) [12]

а-а-а... я понял.

Я только не понял ответа на свой вопрос:

>а зачем MAC адрес модему?


 
Verg ©   (2004-04-24 14:30) [13]


> Piter ©   (24.04.04 13:01) [6]
> Verg (24.04.04 12:39) [5]
> GetIpNetTable вернет содержимое ARP кэша.
> Так что, перед этим надо хотя бы попинговать целевой IP
>
> а что это даст? пинговаться будет, исходя из буфера...


Как что даст?! Это даст то, что в ARP кэше появится MAC адрес целевого хоста.

Все это вообще справедливо (И ARP-кэш и SendARP) только, если мы находимся в одном физическом сегменте с тем самым IP-MAC-икс хостом.


 
Rouse_ ©   (2004-04-24 15:11) [14]

> а что это даст? пинговаться будет, исходя из буфера...
Из какого?

> а зачем MAC адрес модему?
Ответ я тебе уже дал...


 
Piter ©   (2004-04-24 15:19) [15]

Verg (24.04.04 14:30) [13]
Как что даст?! Это даст то, что в ARP кэше появится MAC адрес целевого хоста


а, ну да. Я про то, что если в буфере есть такая запись - то заново пинговать не надо.
Так что лучше посмотреть - есть ли она, а уж потом попинговать, если нету.

Verg (24.04.04 14:30) [13]
Все это вообще справедливо (И ARP-кэш и SendARP) только, если мы находимся в одном физическом сегменте с тем самым IP-MAC-икс хостом


Я тоже так считаю. Только вот ESSNT при сканировании выдает MAC адрес удаленного компьютера... а происходит все в интернете, связь только по IP...


 
Verg ©   (2004-04-24 15:22) [16]

ARP - Address Resolution Protocol

  Между физическими ethernet-адресами и логическими IP-адресами
  никакого прямого соответсвия нет. Для того, чтобы отправитель
  пакета мог узнать, по какому физическому адресу отпрявлять пакет,
  существует протокол ARP (Address Resolution Protocol). ARP описан
  в RFC826

  ARP"овский пакет состоит из ethernet"овского заголовка, за которым
  идут собственно ARP"овские данные.

       typedef struct
           {
           ushort      arp_hardware;
           ushort      arp_protocol;
           uchar       arp_alen_hard;
           uchar       arp_alen_ip;
           ushort      arp_opcode;
           uchar       arp_asrc_hard[6];
           ulong       arp_asrc_ip;
           uchar       arp_adst_hard[6];
           ulong       arp_adst_ip;
           }
           arp_packet;

  arp_hardware  - 1, обозначает, что мы живем на ethernet"е
  arp_protocol  - 0x800. Обозначает, что мы разговариваем по IP, а не по,
                  скажем, IPX"у.
  arp_alen_hard - 6, длина аппаратного адреса.
  arp_alen_ip   - 4, длина логического (IP) адреса
  arp_opcode    - 1 - для ARP-запроса (ARP-request)
                  2 - для ARP-ответа (ARP-reply)
  arp_asrc_hard - аппаратный адрес отправителя
  arp_asrc_ip   - IP-адрес отправителя. Может быть 0, если отправитель
                  не знает своего адреса (а только собирается узнать)
  arp_adst_hard - аппаратный адрес получателя. В arp-запросе поле
                  не используется, поскольку адреса получателя мы
                  еще не знаем.
  arp_adst_ip   - IP-адрес получателя.

  ARP работает следующим образом. Машина, желающая что-то отправить
  по данному IP-адресу, формирует ARP-запрос, заполняя в нем все, кроме
  аппаратного адреса получателя пакета. Этот пакет отправляется
  ethernet"овским бродкастом всем машинам на сети. Та машина, которая
  узнала в IP-адресе получателя себя, заполняет и отправляет назад,
  но уже юникастом, ARP-ответ. При получении ARP-ответа надо проверить,
  что IP-адрес отправителя - это то, что мы хотели, и взять из
  ARP-пакета (но не ethernet"овского хидера!) искомый аппаратный адрес.
  Поскольку ARP-запросы посылаются бродкастом, а в ARP-ответе не
  ethernet"овский заголовок никто не смотрит, можно сделать ARP-сервер,
  который посылает ARP-ответы за кого-то. Иногда эта возможность бывает
  полезной.

  Хотя этого нигде и не сказано, ARP-овские пакеты надо посылать
  с интервалом где-нибудь в полсекунды раз шесть, пока не будет
  получен ответ (впрочем, если не получив ответа все равно делать
  ничего полезного нельзя, их можно посылать до бесконечности).

  Кстати, получив ARP-запрос, есть смысл запомнить из него IP и
  ethernet-адреса отправителя, скорее всего он скоро захочет с нами
  разговаривать, и они нам пригодятся. Надо только проверить, что
  эти IP-адрес правдоподобен.

  Информацию, полученную по ARP"у следует где-нибудь кешировать, и
  забывать через полминуты после последнего использования (или если
  получен более новый ARP-пакет, отменяющий наши знания). Если этого
  не делать, то после смены ethernet"овской карточки на какой-нибудь
  машине в сети, мы можем навсегда потерять возможность с ней общаться.

Copyright (c) by Alexander Pevzner (pzz@pzz.msk.ru), 1998-1999


 
Piter ©   (2004-04-24 16:26) [17]

Verg, а ты это кому? Я знаю это...


 
Verg ©   (2004-04-24 16:52) [18]


> Piter ©   (24.04.04 16:26) [17]
> Verg, а ты это кому? Я знаю это...


"Ф"сем, кто не знает.

Форум тут. Забыл?


 
Rouse_ ©   (2004-04-24 17:07) [19]

> [17] Piter ©   (24.04.04 16:26)
Мишь, поверь, все знать не возможно - очень многих вещей не знаем все мы, только каждый свои...


 
Piter ©   (2004-04-24 19:31) [20]

Rouse_ (24.04.04 17:07) [19]
а я не говорю, что знаю все. Я хотел бы узнать - нафига модему MAC адрес? Вот зачем он сетевой карточке - понятно.


 
Verg ©   (2004-04-24 19:50) [21]

Физический адрес должен быть у любого сетевого интерфейса, включая и PPP типа. Это стандарт, унификация.


 
Piter ©   (2004-04-24 20:45) [22]

а, ясно. Но при передаче данных он все равно не используется, верно?

И еще есть такой вопрос:

>Только вот ESSNT при сканировании выдает MAC адрес удаленного компьютера... а происходит все в интернете, связь только по IP...


 
Verg ©   (2004-04-24 20:53) [23]


> ESSNT


Никогда не использовал.

Ну и чему же равен МАС адрес например, www.delphimaster.ru ? :)


 
Игорь Шевченко ©   (2004-04-24 21:02) [24]

А можно вопрос к знатокам ? (сам я в сетях полный чайник)

Прочитал в MSDN про MAC-адрес:

"Represents the address of the network interface card if the physical interface corresponds to an Ethernet, Token Ring, or Fiber Distributed Data Interface (FDDI) adapter. "

Вот мой мобильник, работающий сейчас через инфракрасный порт к какому типу адаптеров относится ?


 
Verg ©   (2004-04-24 21:09) [25]


> MAC адрес удаленного компьютера... а происходит все в интернете,
> связь только по IP...


Вот у меня тут тоже всё в Интернете. Все компьютеры "удаленные".
Каждый имеет "белый" IP и МАС адрес любого я в любое время могу узнать послав либо ARP запрос, либо просто отправив ему хотя бы одну IP датаграмму (хоть пинг, хоть что, хоть просто "левак") и помотрев arp кэш указанной выше ф-цией или просто набрав arp -a. Просто потому, что все они (целый квартал, а может и больше) принадлежат одной сети (одному сегменту).


 
Verg ©   (2004-04-24 21:10) [26]


> Игорь Шевченко ©   (24.04.04 21:02) [24]


Не знаю.
Запусти FAR, набери команду ipconfig.
Она тебе все покажет.


 
Verg ©   (2004-04-24 21:12) [27]

Точнее ipconfig /all (чтобы и МАС адрес посмотреть)


 
Игорь Шевченко ©   (2004-04-24 21:20) [28]

[26] Verg ©   (24.04.04 21:10)

Угу, спасибо. показывает. Но дело в том, что у меня еще пара виртуальных сетевых адаптеров живет, у них тоже физический адрес показывается. Может, это такой же динамически присваиваемый адрес, как и IP ?


 
Verg ©   (2004-04-24 21:26) [29]


> Игорь Шевченко ©   (24.04.04 21:20) [28]


Да, например, WAN адаптерам (модемы всякие) после установления соединения им как-то (не знаю точно как) присвивается МАС адрес.
Вот, кстати программку я тут давал, можешь попробовать. Она должна определить тип интерфейса, через который ты сейчас ходишь по дефолту (default gateway) и должна остлеживать изменения этого маршрута.

http://delphimaster.net/view/6-1081483248/


 
Verg ©   (2004-04-24 21:33) [30]


>  Но дело в том, что у меня еще пара виртуальных сетевых
> адаптеров живет


Никак от VMware ? :)))


 
Игорь Шевченко ©   (2004-04-24 21:41) [31]

[29] Verg ©   (24.04.04 21:26)

Спасибо за программку, пишет, что Default gateway доступен через интерфейс типа PPP (115200 bps) (насколько я понимаю, 155 кило, это скорость самого Ir-порта)

[30] Verg ©   (24.04.04 21:33)

От него :) Пытался виртуальную машину с Windows 3.11 связать через сетевой адаптер с хост-системой, не вышло. Сотру, наверное.


 
Verg ©   (2004-04-24 21:51) [32]


> От него :) Пытался виртуальную машину с Windows 3.11 связать
> через сетевой адаптер с хост-системой, не вышло. Сотру,
> наверное.


А я FreeBSD-ойку (5.1) на WMware "мучаю" . Ничего, почти как настоящая получилась :))) Все пашет, но не летает конечно, но ничего, вполне меня устраивает. midnight и glib где-то полчаса (может и больше) собирала...
Виртуальная сетка работает вполне зачудительно.
Сейчас хочу FreePascal поставить на нее. Пока не получается :(
Немного пиво и усталость мешает...


 
uny   (2004-04-24 22:25) [33]

Игорь Шевченко
скажите пожалуйста, если оплата по трафику - мегабайт сколько стоит?
(в пункте [31])


 
Игорь Шевченко ©   (2004-04-24 22:28) [34]

32] Verg ©   (24.04.04 21:51)


> FreeBSD-ойку (5.1) на WMware "мучаю"


Удачи! Я Unix"ы обычно Native ставлю, без VMware. Собственно, я хотел именно Windows 3.1 (3.11 посмотреть).

Так что из себя представляет MAC-адрес, все-таки, для виртуальных адаптеров ?


 
Игорь Шевченко ©   (2004-04-24 22:39) [35]

[33] uny   (24.04.04 22:25)

$0,25/0,17 за мегабайт без НДС (вторая цифра после 22 часов и в выходные)


 
Piter ©   (2004-04-24 23:07) [36]

Verg (24.04.04 20:53) [23]
Ну и чему же равен МАС адрес например, www.delphimaster.ru


не могу посмотреть. Программа сканит по NetBios"у, а когда я включаю его в удаленном соединении - у меня что-то все виснет. Хочешь - посмотри сам. Программа называется ESSNT - Essential Net Tools - сканер.

Я тебя уверяю, ошибки быть не может. У меня не было сетевой карточки вообще. Соединялся я помню по dial-up". И сканировал нужный мне диапазон - так вот в колонке MAC address появлялся мак адрес удаленноо компьютера. не у всех, но у многих был. Причем, не думаю, что цифры взяты с потолка. Возможно, в NB есть какие-то функции для этого...
Или как бы ты мог объяснить данный факт?


 
uny   (2004-04-25 09:55) [37]

>$0,25/0,17
у меня skylink и 3руб мег, всегда. толи радоваться, то ли ждать когда подорожает - кого ни спросишь везде дороже:)


 
Piter ©   (2004-04-25 18:15) [38]

Piter (24.04.04 23:07) [36]
так вот в колонке MAC address появлялся мак адрес удаленноо компьютера. не у всех, но у многих был. Причем, не думаю, что цифры взяты с потолка. Возможно, в NB есть какие-то функции для этого...
Или как бы ты мог объяснить данный факт?



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

Форум: "Сети";
Текущий архив: 2004.06.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.61 MB
Время: 0.031 c
1-1086071689
new
2004-06-01 10:34
2004.06.13
Чтение файла


3-1084960375
Kein
2004-05-19 13:52
2004.06.13
Как создать базу с DEFAULT CHARACTER SET WIN1251


14-1085649835
Prohodil Mimo
2004-05-27 13:23
2004.06.13
Как присвоить значение переменной? :o)


1-1085726881
errorr
2004-05-28 10:48
2004.06.13
Галочки в stringgrid


3-1084366877
Desdechado
2004-05-12 17:01
2004.06.13
странное поведение связки SQLQuery-DatasetProvider-ClientDataset





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский