Для большинства HTTP-серверов Nmap просто захватывает заголовок Server, так что этого может быть достаточно. Чтобы получить эту информацию, попробуйте следующее:
printf "HEAD / HTTP/1.0\r\nHost: $TARGET\r\n\r\n" | nc $TARGET 80 | awk '$1=="Server:"{$1="";print}'
В противном случае, если вы хотите использовать Nmap, есть несколько способов ускорить работу.
-n
, чтобы не выполнять разрешение имен--version-light
или --version-intensity 0
, чтобы уменьшить количество посылаемых зондов. Это не будет иметь эффекта для большинства HTTP-серверов, так как зонд по умолчанию обычно соответствует запросу. -Pn
, чтобы пропустить обнаружение хоста. Это уже есть в виде -P0
, который работает, но это более старый синтаксис. Все вместе это сэкономит несколько миллисекунд. К сожалению, 6 секунд, которые вы видите, это Nmap ждет, пока сервер отправит данные первым. Nmap пытается обнаружить сервисные зонды в определенном порядке: сначала зонд NULL (ожидание, пока сервер отправит первым), затем любые зонды, которые "для" сканируемого порта, затем любые другие зонды с редкостью меньше, чем интенсивность версии (по умолчанию 7). Зонды, их порты и редкости определены в файле nmap-service-probes
, который вы можете редактировать. Однако это глобальная настройка, поэтому, отредактировав ее, вы сделаете Nmap менее полезным для общего обнаружения версий. Найдите строку Probe TCP NULL
и измените значение totalwaitms
под ней на что-то небольшое, например, 100
. Это должно выглядеть примерно так:
# This is the NULL probe that just compares any banners given to us
##############################NEXT PROBE##############################
Probe TCP NULL q||
# Wait for at least 6 seconds for data. It used to be 5, but some
# smtp services have lately been instituting an artificial pause (see
# FEATURE('greet_pause') in Sendmail, for example)
totalwaitms 100
Чтобы не испортить Nmap для всех других сканирований, сделайте копию файла nmap-service-probes
и ссылайтесь на его расположение с помощью опции --datadir
. Вот результат, который я получил:
$ time nmap -Pn -sV -n -p80 $TARGET --datadir=. | grep '^80/tcp'
80/tcp open http Google httpd 2.0 (GFE)
real 0m0.753s
user 0m0.472s
sys 0m0.032s
Можно ли запустить sudo update-alternatives --config editor
, а затем выбрать leafpad
из доступных вариантов? Если его нет в списке, вы можете попробовать повторно -установить leafpad
. Возможно, когда emacs
был установлен, он заменил ваш предыдущий редактор по умолчанию.