Nmap Функция скрипта NSE ведет себя иначе, если аргумент является жестко закодированной строкой или переменной, содержащей указанную строку - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь написать сценарий брутфорса Nmap NSE DNS для школьной работы. моя проблема заключается в том, что при использовании функции: dns.query(dname,options), где dname является полным доменным именем, результат будет другим, если аргумент будет

1: жестко закодированная строка, такая как

local status, result = dns.query("www.domain.com", {dtype="A",retAll=true})

или 2 : переменная, созданная в функции match, которая объединяет две строки

local status, result = dns.query(domain, {dtype="A",retAll=true})
local function match(sub,host)
        local domain = print(sub.."."..host.name)
        local status, result = dns.query(domain, {dtype="A",retAll=true})
        if status == "true" then
                return domain
        end
        return ''
end

в режиме отладки, показывает, что домен переменной действительно равен тому же значению, что и жестко закодированная строка. Но поведение другое.

что может вызвать такие проблемы?

документы для библиотеки dns: https://nmap.org/nsedoc/lib/dns.html

...