Эксплорер WI-FI под LINUX

Коллега порадовал новым эксплорером под LINUX, для тех кому недостаточен LinSSID

1 лайк

А чем iwlist scan не подходит?

так это же обёртка к iw, рюшечки так сказать )))

iwlist показывает и скрытые сети.

Diskless в смысле ? имя показывает ?)))) а то методом перебора они только узнаются…

Имя не показывает, а частоту показывает. В рюшечках скрытых сетей нет - не для того рюшечки делали.

всё там показывает, надо скрытые сети, думаю автор может добавить

а имя полное не показывает у скрытых! предлагаю написать что то собственное, что бы имена еще подбирались))) поможете ?(только тут esp32 нужна, но она на днях приедет!)

вот просто сканер, и на с++! а не на питоне…

#include <ESP8266WiFi.h>
#include <vector>

struct HiddenNetwork {
String bssid;
int rssi;
uint8_t channel;
};

std::vector<HiddenNetwork> hiddenNetworks;

void sniffer(uint8_t *buf, uint16_t len) {
if (len < 12) return;  // Минимальный размер 802.11 заголовка
// Тип фрейма: Beacon (0x80) или Probe Response (0x50)
uint8_t frameType = buf[0] & 0x0F;
// Если это Beacon или Probe Response
if (frameType == 0x80 || frameType == 0x50) {
// Извлекаем BSSID (MAC точки доступа)
uint8_t *bssid = &buf[16];
char bssidStr[18];
sprintf(bssidStr, "%02X:%02X:%02X:%02X:%02X:%02X", 
bssid[0], bssid[1], bssid[2], bssid[3], bssid[4], bssid[5]);
// Проверяем, есть ли SSID (Tagged Parameters)
int8_t *ssidStart = &buf[36];  // Примерное положение SSID в фрейме
uint8_t ssidLen = ssidStart[1];
// Если SSID пустой или нулевой длины — это скрытая сеть
if (ssidLen == 0) {
bool exists = false;
for (auto &net : hiddenNetworks) {
if (net.bssid == String(bssidStr)) { exists = true; break; }
}
if (!exists) {
HiddenNetwork net;
net.bssid = String(bssidStr);
net.rssi = WiFi.RSSI();  // Примерное значение (можно улучшить)
net.channel = WiFi.channel();
hiddenNetworks.push_back(net);
Serial.print("Found hidden network! BSSID: ");
Serial.print(bssidStr); Serial.print(", RSSI: ");
Serial.print(net.rssi); Serial.print(", Channel: "); Serial.println(net.channel);
}
}
}
}

void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
// Включаем режим promiscuous для прослушивания всех пакетов
wifi_set_promiscuous_rx_cb(sniffer);
wifi_promiscuous_enable(true);
}

void loop() {
delay(5000);
Serial.println("Scanning...");
}

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

даже про рояль слышал, про питона не слышал, дикий я человек )))

1 лайк

Заявление из серии, что “С разработкой для Ардуино справится любая домохозяйка” :slight_smile:

ААА…, а то на читальне обсуждают фото ног барышни для визуализации удлинения оных одевшей сапоги на высоком каблуке…комментарий одного…
“хотел бы я иметь такие ноги”… сидел и репу чесал, что сказать хотел )))

про него ваш коллега слышал, только не говорите ему что питон медленный, а то не станет у вас коллеги…

kalapanga надо щупать друг друга, и предлагать коды! а то может и deauther сможем запилить))))

мой коллега - разработчик PostgreSQL )))

что то крутое и нужное, с открытым исходным кодом, но я это не осваивал, и тоже не знаю что это)))

вроде вот прикольный код (менее функциональная версия кода который видел, сразу не могу найти)

https://pastebin.com/8Ty8H7fP
показывает мак адреса скрытых в том числе…
так что может если что сделать и замок с дополнительной системой авторизации!
а может еще что… собирать данные для рекламы не предлагать!)))