Russian Qt Forum

Qt => Работа с сетью => Тема начата: muaddib1981@mail.ru от Июня 10, 2009, 10:09



Название: mac адрес
Отправлено: muaddib1981@mail.ru от Июня 10, 2009, 10:09
можно ли получить мас адрес средствами qt?

Если нельзя, то как можно получить ее под Windows и под Linux?



Название: Re: mac адрес
Отправлено: Rcus от Июня 10, 2009, 11:20
Цитировать
QString QNetworkInterface::hardwareAddress () const

Returns the low-level hardware address for this interface. On Ethernet interfaces, this will be a MAC address in string representation, separated by colons.

Other interface types may have other types of hardware addresses. Implementations should not depend on this function returning a valid MAC address.


Название: Re: mac адрес
Отправлено: muaddib1981@mail.ru от Июня 10, 2009, 11:50
Большое спасибо


Название: Re: mac адрес
Отправлено: SABROG от Июня 22, 2009, 19:07
А получить адрес удаленной машины? ;)


Название: Re: mac адрес
Отправлено: mugabe от Июня 23, 2009, 14:27
QProcess("arp -a")
для винды :) в линуксах может флаг другой :)
сомневаюсь что есть встроенное в Qt средство.

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


Название: Re: mac адрес
Отправлено: SABROG от Июня 25, 2009, 08:42
осуществляется через шлюз - невозможно.

В винде можно использовать winapi GetIpNetTable, предварительно установив соединение по любому протоколу. MAC получить удастся и это будет MAC шлюза. Полезная штука, если надо забанить целую подсеть.