Появившаяся в последних релизах широкая поддержка
Wireless Networking натолкнула меня на размышления - а как обстоят дела с программами для 802.11-сетевого сниффинга и для исследования 802.11 WEP and WPA/WPA2-PSK ключей в Solaris? Готовых пакетов я нигде не нашел. Скачав несколько наиболее известных утилит, использующихся в Linux, и попробовав их собрать на 74-й сборке Express, успеха добился только с известной aircrack-ng.
Прежде всего я скачал и собрал libpcap (а для проверки работоспособности собрал заодно и tcpdump). Тут проблем особых не возникло (собирал через SunStudio и gmake). Распаковав архив aircrack, я переименовал Makefile.others в Makefile и дал команду "gmake". Через несколько секунд вылетела ошибка - компилятор не нашел функции "strsep". Оказалось, что в Solaris данная функция отсутствует. Однако, вписав в начало файла aircrack-ng.c следующий код:
static char* getToken(char** str, const char* delims)
{
char* token;
if (*str==NULL) {
/* No more tokens */
return NULL;
}
token=*str;
while (**str!='\0') {
if (strchr(delims,**str)!=NULL) {
**str='\0';
(*str)++;
return token;
}
(*str)++;
}
/* There is no other token */
*str=NULL;
return token;
}
и заменив все вызовы "strsep" на "getToken", я успешно скомпилировал программу. Проверка на тестовом файле:
# aircrack-ng wpa.cap -w password.lst
Результат: