Я не пытался сделать очень простой скрипт LUA внутри esty2closed.nse (двигатель сценария NMAP).
попробовал на Mac и Linux, ни один из них не работал. Ни добавление скрипта в путь nmap paths (хотя и запуская его из локальной папки, не было никаких жалоб).
Сценарий, похоже, будет проанализирован и выполнен NMAP < /code> без ошибок, но ожидаемая строка для теста не появляется.
Сценарий должен внутренне получить реальное состояние порта tcp ( open / закрыто [номер порта также передается в качестве аргумента для NMAP ]), а затем покажите строку, говорящую: «Этот порт закрыт!» (если это случай). /> Код скрипта (testy2closed.nse):
-- HEAD --
description = [[
This is a simple script example that determines if a port is closed.
]]
author = “Peter”
-- RULE --
portrule = function(host, port)
return port.protocol == "tcp"
and port.state == "closed"
end
-- ACTION --
action = function(host, port)
return "This port is closed!"
end
Вывод, который я - действительно получаю :
nmap -p80,443 --script testy2closed.nse 127.0.0.1
Starting Nmap 7.97 ( https://nmap.org ) at 2025-08-25 18:55 +0200
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
PORT STATE SERVICE
80/tcp closed http
443/tcp closed https
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
Ожидаемое output:
nmap -p80,443 --script testy2closed.nse 127.0.0.1
Starting Nmap 7.97 ( https://nmap.org ) at 2025-08-25 18:55 +0200
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
PORT STATE SERVICE
80/tcp closed http
|_testy2closed This port is closed!
443/tcp closed https
|_testy2closed This port is closed!
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
Подробнее здесь: https://stackoverflow.com/questions/797 ... d-string-e