NMAP 使用哪种类型的正则表达式?
Which type of regex used by NMAP?
正在尝试使用 Nmap 在 Robtex 数据库中进行扫描:
nmap --script http-robtex-reverse-ip <target>
但是自从 Robtex 更新了他的网站后,Nmap 脚本就不能再工作了。
新的Robtex html结构是这样的:
<div class="xsha">
<div>
<div>
<h3>
<span id="sharedn.b446331/_ma">Pointing to this IP number</span>
</h3>
</div>
<ol class="xbul">
<li>domain1</li>
<li>domain2</li>
<li>domain3</li>
<li>domain...</li>
</ol>
</div>
</div>
我已经更改了我的 Nmap 脚本,但它不起作用。
function parse_robtex_response(data)
local data = data:match("<span id=\"sharedn\">.-<ol.->(.-)</ol>")
local result = {}
if data then
for domain in data:gmatch("<li[^>]*>(.-)</li>") do
domain = domain:gsub("<[^>]+>","")
table.insert(result, domain)
end
end
return result
end
prerule = function() return stdnse.get_script_args("http-robtex-reverse-ip.host") ~= nil end
action = function(host, port)
local target = stdnse.get_script_args("http-robtex-reverse-ip.host")
local ip = ipOps.ip_to_str(target)
if ( not(ip) or #ip ~= 4 ) then
return stdnse.format_output(false, "The argument \"http-robtex-reverse-ip.host\" did not contain a valid IPv4 address")
end
local link = "/ip-lookup/"..target..""
local htmldata = http.get("www.robtex.com", 443, link, {any_af=true})
local domains = parse_robtex_response(htmldata.body)
if ( #domains > 0 ) then
return stdnse.format_output(true, domains)
end
end
如何解决这个问题?
下次我们换网页的时候,这可能会再次崩溃。与其抓取我们的网站,不如使用全新的免费 API ( https://www.robtex.com/api/ )。
它更安全、更快速、更易于解析。
正在尝试使用 Nmap 在 Robtex 数据库中进行扫描:
nmap --script http-robtex-reverse-ip <target>
但是自从 Robtex 更新了他的网站后,Nmap 脚本就不能再工作了。
新的Robtex html结构是这样的:
<div class="xsha">
<div>
<div>
<h3>
<span id="sharedn.b446331/_ma">Pointing to this IP number</span>
</h3>
</div>
<ol class="xbul">
<li>domain1</li>
<li>domain2</li>
<li>domain3</li>
<li>domain...</li>
</ol>
</div>
</div>
我已经更改了我的 Nmap 脚本,但它不起作用。
function parse_robtex_response(data)
local data = data:match("<span id=\"sharedn\">.-<ol.->(.-)</ol>")
local result = {}
if data then
for domain in data:gmatch("<li[^>]*>(.-)</li>") do
domain = domain:gsub("<[^>]+>","")
table.insert(result, domain)
end
end
return result
end
prerule = function() return stdnse.get_script_args("http-robtex-reverse-ip.host") ~= nil end
action = function(host, port)
local target = stdnse.get_script_args("http-robtex-reverse-ip.host")
local ip = ipOps.ip_to_str(target)
if ( not(ip) or #ip ~= 4 ) then
return stdnse.format_output(false, "The argument \"http-robtex-reverse-ip.host\" did not contain a valid IPv4 address")
end
local link = "/ip-lookup/"..target..""
local htmldata = http.get("www.robtex.com", 443, link, {any_af=true})
local domains = parse_robtex_response(htmldata.body)
if ( #domains > 0 ) then
return stdnse.format_output(true, domains)
end
end
如何解决这个问题?
下次我们换网页的时候,这可能会再次崩溃。与其抓取我们的网站,不如使用全新的免费 API ( https://www.robtex.com/api/ )。 它更安全、更快速、更易于解析。