From 2460037fdda416dd7d988d43cb69bf9804dd195f Mon Sep 17 00:00:00 2001 From: HD Moore Date: Sun, 14 Feb 2010 18:55:49 +0000 Subject: [PATCH] More nmap import foo git-svn-id: file:///home/svn/framework3/trunk@8493 4d416f70-5f16-0410-b530-b9f4589650da --- lib/msf/core/db.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/msf/core/db.rb b/lib/msf/core/db.rb index 50e6bd9148..d507037682 100644 --- a/lib/msf/core/db.rb +++ b/lib/msf/core/db.rb @@ -1122,11 +1122,29 @@ class DBManager end data[:state] = (h["status"] == "up") ? Msf::HostState::Alive : Msf::HostState::Dead + # XXX: There can be multiple matches, but we only see the *last* right now if (h["os_accuracy"] and h["os_accuracy"].to_i > 75) data[:os_name] = h["os_vendor"] data[:os_sp] = h["os_version"] end + # Only passed through if its a 100% match + if (h["os_match"]) + arch = nil + case h["os_match"] + when /x86|intel/i + data[:arch] = ARCH_X86 + when /ppc|powerpc/i + data[:arch] = ARCH_PPC + when /sparc/i + data[:arch] = ARCH_SPARC + when /armle/i + data[:arch] = ARCH_ARMLE + when /armbe/i + data[:arch] = ARCH_ARMBE + end + end + if ( h["reverse_dns"] ) data[:name] = h["reverse_dns"] end