user1286505
user1286505

Reputation: 1

ProcessBuilder on OSX

I am able to successfully execute this on windows:

builder = new ProcessBuilder("cmd.exe", "/c", "nmap " + ipRange, "&cd");

But this on OSX fails:

builder = new ProcessBuilder("/usr/local/bin/nmap", ipRange);

With the error:

"Starting Nmap 5.51 ( http://nmap.org ) at 2012-03-22 09:51 PDT

Invalid host expression: 127.0.0.1 -p T:80 -- colons only allowed in IPv6 addresses, and then you need the -6 switch

QUITTING!"

What is the correct way to create that ProcessBuilder for OSX? Thanks

Upvotes: 0

Views: 5659

Answers (1)

Sean Patrick Floyd
Sean Patrick Floyd

Reputation: 298898

I'm guessing you are trying to pass two separate parameters as one String in ipRange. The ProcessBuilder probably wraps the ipRange String with quotes and messes up the command syntax. You need to add all parameters separately

Not like this:

new ProcessBuilder("/usr/local/bin/nmap", "-foo foo -bar bar");

but like this:

new ProcessBuilder("/usr/local/bin/nmap", "-foo", "foo", "-bar", "bar");

Upvotes: 3

Related Questions