а давай немного поговорим о wifi вообще и вардрайвинге в частности. я как-то втянулся в это дело, хожу везде и ищу сети всякие, только вот получается у меня пока что плохо, по ряду причин.
начнем с теории - где в этом интернете подробно написано о том, как работают различные методы шифрования и аутентификации и чем они отличаются? желательно либо в полностью абстрагированном от платформы виде, либо на примере стандартных линуксовых cli-утилит. интересует как поверхностный обзор, так и подробный разбор всех процессов по шагам и слоям OSI.
вообще модель OSI я знаю достаточно хорошо, а вот с криптографией у меня так себе.
сниффинг и взлом отложим немного на потом, тем более что мой BCM4312 802.11b/g кажется нифига не поддерживает мониторный режим.
кстати, promiscuous на уровне ethernet и monitor mode на уровне wifi это ведь не одно и тоже?
я так понимаю, что вайфай какбэ вклинивает еще один слой абстракции над физическим уровнем и под эзернет уровнем и именно там осуществляет все свои манипуляции, включая все виды шифрования?
ну и последнее - хотелось бы написать python-скриптик, который умеет перебирать все сети, пытаясь в каждой из них получить доступ к инету. скриптик будет работать с базой, где будут все сети которые он когда либо видел и куча полей: essid, мак, сколко раз видел, максимальный уровень сигнала, GPS координаты в этом месте, флаги о том, к чему удалось получить доступ и какие виды шифрования используются. и вывод на festival. вобщем я хочу запилить свой kismet.
я так понимаю, что в питоне есть какаято либа, которая может дергать параметры вайфая и посредством которой работать было бы удобнее и православнее чем парсить вывод cli-утилит регекспами, правильно?
и что мне лучше использовать под базу, чтобы это было расово и кошерно, уж не mysql наверное и не постгресс. наверное sqlite какой-нибудь или может быть вообще текстовый файл например с JSON? можно же будет еще экспорт в http://wigle.net/ нарулить.
и еще вопросец - а наличие wpa/wep ведь не исключает анонимного подключения без аутентификации? если да, то по каким полям в выводе iwlist wlan0 scan ориентироваться, чтобы это определить?