Это шаблон оболочки подстроки (подкласс расширения параметров).
Формат:
${parameter:offset:length}
, индексирование начинается с 0.
Допустим, у вас есть переменная foo
, тогда $ {foo: 0: 2}
дает первые два символа (с позиции 0 следующие 2).
Пример:
$ foo=spamegg
$ echo "${foo:0:2}"
sp
В вашем случае первое число, 1
, относится к имени переменной $ 1
, которое является первым аргументом, переданным через командную строку (в основной программе ) или первый аргумент, переданный функции.
Итак, в вашем случае "$ {1: 0: 2}"
:
начнет извлекать подстроку, начиная с индекса 0, то есть первого символа
, и продолжит до следующих двух символов
, поэтому после операции вы получите первые два символа (с индексами 0 и 1) входной строки.
["$ {1: 0: 2}"! = $ RowArgName]
и ["$ {1: 0: 2}"! = $ ColArgName]
являются проверка, равна ли выходная подстрока некоторым другим строкам.
Это одна из проблем, которые могут возникнуть при сканировании UDP. Честно говоря, я не сильно заморачивался с этим. Я думаю, вы можете увеличить время, когда вы находитесь в своей хорошей быстрой локальной проводной сети. Параметр -T5
работает нормально, когда я сканирую тот же компьютер, на котором запущен nmap
на :-). В данном случае он завершил полное сканирование UDP менее чем за 3 минуты.
Еще одна подсказка :нажмите Enter во время работы nmap. Он покажет индикатор прогресса.
Еще один способ ускорить это — не сканировать все 65535 портов :-). Если вы только хотите дважды -проверить, защищает ли ваш брандмауэр порты, которые, по вашему мнению, он защищает, вы можете просто передать список прослушиваемых портов, который вы видели в netstat -l
/ ss -l
. Я не склонен иметь много странных сетевых служб , которые прослушивают физические интерфейсы , но мне нужен брандмауэр, поэтому я могу просто ввести их вручную :-P.
Вторая проблема заключается в том, что сканирование UDP может также показывать программы, которые не прослушивают, а только отправляют запросы, т.е. программа, отправившая DNS-запрос и ожидающая ответа. Поэтому требуется некоторое суждение. Проще всего это сделать при использовании netstat -l -p
/ss -l -p
, чтобы они показывали имя программы, а затем вы могли начать догадываться, как они используют UDP :-).
Параноидальное значение реального сканирования с другого компьютера заключается в том, что оно поможет людям начать замечать такие вещи, как глупость Intel ME .
sudo nmap -sU --data-length=0 192.168.1.97
Параметр –data -length может использоваться для отправки произвольной полезной нагрузки фиксированной -длины на каждый порт или (, если вы укажете значение 0 ), чтобы отключить полезную нагрузку. Если ошибка недостижимости порта ICMP (типа 3,возвращается код 3 ), порт закрывается. Другие ошибки недоступности ICMP (, тип 3, коды 1, 2, 9, 10 или 13 )помечают порт как отфильтрованный. Иногда служба отвечает UDP-пакетом, подтверждая, что она открыта. Если после повторной передачи ответ не получен, порт классифицируется как открытый|отфильтрованный.
sudo nmap -sU -v 192.168.0.97
активировать подробный режим nmap. это сработает.