Как контролировать другие узлы для получения RSSI?

Необходимо смочь сделать это (по крайней мере, с FreeBSD-9.0-RELEASE-i386-disc1.iso изображение) путем монтирования ISO-образа к некоторому местоположению и им выполняют операции файла оттуда. Что-то как:

# mkdir /mnt/freebsd
# mount -t auto /path/to/install_image.iso /mnt/freebsd
# cp -r /mnt/freebsd/usr/include /some/other/location
  ...
# umount /mnt/freebsd

Никакая потребность установить что-либо. Таким образом после того, как Вы имеете все, просто размонтировали ISO и продолжаете взламывать. Это, кажется, самый простой способ, которым я могу думать.

2
10.03.2013, 18:53
1 ответ

Если Ваш интерфейс находится в IBSS, Сетчатой точке или режиме AP/P2P Group Owner, то можно вывести MAC станций и их уровень сигнала, как воспринято сетевой платой с iw dev wlan0 station dump.

Что касается выборки MAC от IP-адреса, предложение состояло бы в том, чтобы использовать таблицу ARP с ip neigh. Обратите внимание, что Вам, вероятно, придется проверить с помощью ping-запросов IP-адрес для заполнения таблицы ARP.

Так, для выборки RSSI для требования узла обращаются к A, это могло быть:

MAC="$(ip neigh show to A dev wlan0 | cut -f 3 -d ' ')"
if [ -n "$MAC" ]; then
    iw dev wlan0 station get "$MAC" | sed -nre "s@\s*signal:\s*@@p"
else
    # no ARP entry. Ping the address and retry.
fi

Если, однако, Ваш интерфейс не находится на этом типе (например, станция НеAP), то необходимо будет играть с режимом монитора, и у Вас нет надежного способа получить MAC-адрес от IP-адреса (подсказка: если станция направит, то она будет использовать IP отправителя, не его собственное).


Как сказано прежде, iwconfig/iwspy/iwlist/iwpriv удерживаются от использования и сосет. они используют ядро API (беспроводные расширения), который удерживается от использования и только реализован для retrocompatibility цели, и только если включенный в конфигурации ядра. Многие отделяются его, таким образом, фальсифицируются, или испытывает недостаток во многих функциях, включая прямой Wi-Fi. Если Вы используете прямой Wi-Fi, то Вы уже используете современное nl80211 ядро API, и необходимо забыть о wext API и iwconfig/iwspy.

И да, Вам нужен MAC-адрес узла. Wi-Fi воздействует на уровне 1 и 2 на модель OSI и не заботится о верхнем уровне. IP и MAC-адрес служат другой цели и не являются тем же самым.

2
27.01.2020, 22:14
  • 1
    мне нужен Mac вместо IP???? и я не получил каждую вещь здесь!!! мы не можем использовать iwspy, iwconfig еще? –  H.H 10.03.2013, 19:37
  • 2
    также я использовал андроид здесь –  H.H 10.03.2013, 19:39
  • 3
    @Hanna: Обновленный ответ. Используя Android не изменит ядро API, итак, если iw не доступно, необходимо будет скомпилировать его или создать программу, которая делает то же самое с помощью nl80211 API. –  BatchyX 10.03.2013, 20:14
  • 4
    , если у меня есть они информация как выше: IP владельца как следующее: общедоступная Строка getHostAddress () Возвраты числовое представление этого IP-адреса (такой как "127.0.0.1"). –  H.H 10.03.2013, 20:27
  • 5
    и SSID следующим образом общедоступная Строка getNetworkName () Получают сетевое имя (SSID) группы. Клиенты Wi-Fi прежней версии обнаружат p2p группу, использующую сетевое имя. –  H.H 10.03.2013, 20:28

Теги

Похожие вопросы