Форматирование вывода Nmap

У меня вывод nmap выглядит так

Nmap scan report for 10.90.108.82
Host is up (0.16s latency).

PORT   STATE SERVICE
80/tcp open  http
|_http-title: Did not follow redirect to https://10.90.108.82/view/login.html

Я хотел бы, чтобы результат был похож

10.90.108.82 http-title: Не последовало перенаправление на https://10.90.108.82/view/login.html

Как это можно сделать с помощью grep или любым другим способом?

3 ответа

Если вы не против использования языка программирования, посмотрите этот фрагмент кода на Python:

      import nmapthon as nm

scanner = nm.NmapScanner('10.90.108.82', ports=[80], arguments='-sS -sV --script http-title')
scanner.run()

if '10.90.108.82' in scanner.scanned_hosts(): # Check if host responded
    serv = scanner.service('10.90.108.82', 'tcp', 80)
    if serv is not None: # Check if service was identified
        print(serv['http-title'])

Не забудьте выполнить pip3 install nmapthon.

Я автор библиотеки, не стесняйтесь заглянуть сюда

Вы можете использовать следующее nmap.sh скрипт такой:

<nmap_command> | ./nmap.sh

nmap.sh:

#!/usr/bin/env sh

var="$(cat /dev/stdin)"
file=$(mktemp)
echo "$var" > "$file"

ip_address=$(head -1 "$file" | rev | cut -d ' ' -f1 | rev)
last_line=$(tail -1 "$file" | sed -E "s,^\|_, ,")

printf "%s%s\n" "$ip_address" "$last_line"
rm "$file"

Похоже, вы хотите, чтобы вывод [nmap scan] редактировался и отображался по вашему желанию. Попробуйте написать сценарий bash, напишите сценарий bash и запустите его.

Вот ссылка на видео, где вы можете найти ответ на свою проблему:https://youtu.be/lZAoFs75_cs

Посмотрите видео с отметки времени 1:27:17, где создатель кратко описывает, как прервать вывод и отобразить его так, как мы хотим. Если вам нужно, я могу написать сценарий bash для выполнения сокращенной версии вывода, полученного при сканировании nmap.

Другие вопросы по тегам