I am trying to run this line of code:
Process p = Runtime.getRuntime().exec(new String[] {"nmap -sP 192.168.1.0/24", g});
The above gives this error:
Exception in thread "main" java.io.IOException: Cannot run program "nmap -sP 192.168.1.0/24": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at Test.main(Test.java:14)
However, this line of code works fine:
Process p = Runtime.getRuntime().exec(new String[] {"nmap", g});
Here are some particulars:
- Installed nmap 5.51 which works perfectly from the ‘cmd line’.
- Windows Vista.
You should be using this code:
this is equivalent to:
The first entry in the array is always the file, and anything after that is parameters.
What it was doing was looking for “nmap -sP 192.168.1.0/24” as a program, with no parameters.