开发原因: 上大学时使用教育网,抢IP是个令人头痛的问题,昨天还能用的IP今天早上起来就被别人占了,十分郁闷,于是做了一个自动试设IP的程 序。原理很简单,使用了Windows的两个程序:netsh和ipconfig,使用netsh设置IP,如果成功了,用ipconfig就会得到有效 的IP,否则就是0.0.0.0的无效IP,根据这个判断是否成功设置。
使用方法:需更改“String todo = "netsh interface ip set address 本地连接 static 222.28.34.%1 255.255.255.0 222.28.34.1 0";”和代码中的IP地址换成你机器所用的网段。
适用对象:Java初学者。
注:该程序可很容易移植到其他操作系统,只要替换其中的本机程序就行。
import java.io.*; public class SetupIP { public static void main(String[] args) { String todo = " netsh interface ip set address 本地连接 static 222.28.34.%1 255.255.255.0 222.28.34.1 0 "; String cmd = null; try { for (int i = 254; i > 1; i--) { cmd = todo.replaceAll(" %1 ", String.valueOf(i)); Process p = Runtime.getRuntime().exec(cmd); p.waitFor(); Process pp = Runtime.getRuntime().exec(" ipconfig "); pp.waitFor(); BufferedReader stdInput = new BufferedReader(new InputStreamReader(pp.getInputStream())); String s = null; StringBuffer ss = new StringBuffer(); while ((s = stdInput.readLine()) != null) { ss.append(s); } if (ss.indexOf(" 222.28.34 ") > 0) { System.out.println(" 当前IP设置为:222.28.34. " + String.valueOf(i)); System.exit(0); } } } catch (Exception e) { e.printStackTrace(); } } }