Существует два препроцессора, которые могут утверждать, что были традиционными препроцессорами Unix: cpp (препроцессор C) и m4. Ни один не является подходящим к общей предварительной обработке, потому что они заменяют слова где угодно в тексте, и в случае cpp налагают синтаксис комментария. Разумный общий препроцессор имел бы макро-индикатор (т.е. не разворачивайте каждое возникновение name
, расширьтесь только @name
(например)).
Нет никакого препроцессора, что я рассмотрел бы фактический стандарт или даже просто распространенный. Один это адаптировано ко множеству форматов ввода, и доступный на многих дистрибутивах Linux GPP.
Если Вы хотите придерживаться стандартных инструментов, можно использовать оболочку в качестве препроцессора при некоторых обстоятельствах. Создайте строку, затем работайте
eval 'preprocessed=$(cat <
Параметры Shell и команды ($var
, $(command)
, `command`
) будет расширен. Обратите внимание, что Вы не можете легко препятствовать тому, чтобы шаблон вызвал внешние команды или присвоил переменным, используемым сценарием, не используйте это, если Вы не доверяете месту, куда шаблон прибывает из.
Вы можете использовать параметр - exclude-ports
. Не уверен, почему об этом не упоминалось ранее. Может это новое. Я использую Nmap 7.01. Итак, в вашем случае вы можете просто сделать:
$ nmap 24.0.0.1\24 --exclude-ports 80
Можно использовать запятую в качестве разделителя для разделения двух различных диапазонов порта. Для напр. в Вашем случае можно дать следующее
$ nmap 24.0.0.0/24 -p 1-79,81-65535
Следовательно этот путь мы опустили сканирование портов на порте 80.
nmap 24.0.0.0/24 -p -79,81- --top-ports 999
– bonsaiviking
16.04.2012, 23:26