import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;
public class JavaExeBat
{
public static void main(String[] args) throws InterruptedException {
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sd.format(new Date()));
for(int ip = 2;ip<=255;ip++){
String [] cmd = {"cmd","/C","ping 192.168.1." +ip +" -w 500"};
PrimeRun p = new PrimeRun(cmd);
new Thread(p).start();
if(Thread.activeCount()>=300){
Thread.sleep(1000);
}
}
}
}
class PrimeRun implements Runnable{
String[] cmd;
PrimeRun(String[] cmd) {
this.cmd = cmd;
}
public void run() {
// compute primes larger than minPrime
Process p;
try
{
p = Runtime.getRuntime().exec(cmd);
InputStream ps = p.getInputStream();
InputStreamReader ins = new InputStreamReader(ps, "gbk");
BufferedReader buf = new BufferedReader(ins);
String line = null;
int lineNum = 0;
while((line =buf.readLine())!=null){
lineNum++;
if(line.indexOf("TTL")>0){
byte[] bs=line.getBytes("utf-8");
line = new String(bs,"utf-8");
System.out.println(line.substring(3,line.indexOf(" ",4)));
break;
}else if(lineNum >2){
break;
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}