diff --git a/lib/catproxy.js b/lib/catproxy.js index d6a1fcd..45cb87c 100644 --- a/lib/catproxy.js +++ b/lib/catproxy.js @@ -1,11 +1,13 @@ // catproxy.js // Caterpillar Proxy Integration for WelsonJS framework // https://github.com/gnh1201/welsonjs -// https://github.com/gnh1201/caterpillar var JSONRPC2 = require("lib/jsonrpc2"); function CatProxyClient(url) { - var env = {"target": url, "method": ""}; + var env = { + "target": "http://localhost:5555/jsonrpc2", // Check this: https://github.com/gnh1201/caterpillar + "method": "" + }; this.set_env = function(k, v) { env[k] = v || null; @@ -54,6 +56,10 @@ function CatProxyClient(url) { return result; } + + if (typeof url !== "undefined") { + this.set_env(url); + } } function create(url) { @@ -63,7 +69,7 @@ function create(url) { exports.create = create; exports.CatProxyClient = CatProxyClient; -exports.VERSIONINFO = "Caterpillar Proxy Integration (caterpillar.js) version 0.1.4"; +exports.VERSIONINFO = "Caterpillar Proxy Integration (caterpillar.js) version 0.1.5"; exports.AUTHOR = "abuse@catswords.net"; exports.global = global; exports.require = global.require; diff --git a/lib/nmap.js b/lib/nmap.js index 75701ee..8ca6e6c 100644 --- a/lib/nmap.js +++ b/lib/nmap.js @@ -1,14 +1,28 @@ //////////////////////////////////////////////////////////////////////// -// NMAP API +// NMAP interface API //////////////////////////////////////////////////////////////////////// -var NMAPObject = function() { - this.binPath = "bin\\32bit\\nmap-7.92\\nmap.exe"; +var client = require("lib/catproxy"); - this.start = function() { - var cmd = []; - // .. todo .. - }; +var PortScanner = function(binpath, url) { + this.url = url; + this.binpath = binpath; + + this.scan = function(hosts) { + var worker = client.create(url); + worker.set_method("scan_ports_by_hosts"); + + var result = worker.exec({ + "binpath": this.binpath, + "hosts": hosts + }); + return result; + } }; -exports.NMAPObject = NMAPObject; +exports.PortScanner = PortScanner; + +exports.VERSIONINFO = "NMAP interface version 0.2"; +exports.AUTHOR = "abuse@catswords.net"; +exports.global = global; +exports.require = global.require;