IP-адрес беспроводного адаптера не отображается в ifconfig

Ваша опция -nпринимает аргумент, поэтому вам нужно getopts 'n:' arg.

Аргумент option можно найти в $OPTARG.

Не трогайте OPTINDв цикле while getopts.

После цикла shift "$(( OPTIND - 1 ))". Это оставляет имена файлов в позиционных параметрах.

То есть,

#!/bin/sh

level=5
while getopts 'n:' arg; do
    case $arg in
      n) level=$OPTARG ;;
      *) echo 'Error in command line parsing' >&2
    esac
done

shift "$(( OPTIND - 1 ))"

for name do
    # stuff
done

Далее, вы никогда не обрабатываете случай отсутствия входных файлов.

Следующее заставит сценарий использовать стандартный ввод в качестве имени файла, если он не указан:

if [ "$#" -eq 0 ]; then
    # handle no filenames, for example:
    set -- /dev/stdin
fi

for name do
     # stuff
done

Остальное я оставлю вам (, но я настоятельно рекомендую убрать sortиз awkи запустить его как отдельный этап в конвейере для ясности ).

-1
19.08.2021, 18:50
1 ответ

Обратите внимание, что там написано Access Point: Not-Associatedи ESSID: off/any. Это означает, что вы еще не указали беспроводному адаптеру, к какой беспроводной сети он должен подключаться, и поэтому он еще не подключился (, «ассоциированный» в терминологии Wi -Fi ), к какой-либо сети. Сетевая аутентификация (, если применимо, )и ассоциация являются беспроводным эквивалентом подключения сетевого кабеля. Получение IP-адреса с помощью DHCP происходит после этого, а не раньше. Вы пропустили шаг в процедуре подключения :дважды -проверьте, что вы делали до этой ситуации.

Кроме того, современные беспроводные сети часто используют аутентификацию WPA2 или даже WPA3, что требует wpa_supplicantили аналогичного программного обеспечения для управления фазой аутентификации.Так было с первой версии безопасности WPA. Тот факт, что вы даже используете iwconfig, предполагает, что вы, возможно, полагаетесь на устаревшую документацию, которая может описывать подключение к незашифрованным (, «открытым» )или WEP -зашифрованным сетям. И ifconfig, и iwconfigустарели в современных дистрибутивах; следует отдавать предпочтение новым командам ipи iwсоответственно.

Очевидно, вы используете Kali Linux, специально предназначенную для выполнения… необычных вещей с сетями. По этой причине у него может быть отключен wpa_supplicantпо умолчанию, так как он может мешать программам, предназначенным для слежения за трафиком беспроводной сети (, и, возможно, пытаться атаковать другие беспроводные хосты ). Если вам просто нужно обычное беспроводное сетевое соединение, вам нужно специально включить его.

3
30.08.2021, 20:38

Теги

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