软件之家:安全,绿色,高速的专业下载站! 首页|最近更新|站内导航

局域网ip搜索工具扫描设备的简单Java实现

时间:2019-11-08 11:20:56 来源:www.downmsn.com 人气:

在产品的使用中我们一般都要设置一个配置环节,这个环节可以设定主机的IP地址等信息,但是这样配置的话使得我们的产品用起来效果不好,因此我想到了实现局域网IP扫描的功能,IP局域网扫描是指定IP网段获取IP地址信息的方法,在加上PING命令来处理实现,检查该设备是否在线。

  在产品的使用中我们一般都要设置一个配置环节,这个环节可以设定主机的IP地址等信息,但是这样配置的话使得我们的产品用起来效果不是很好,因此我想到了实现局域网IP扫描的功能,IP局域网扫描是指定IP网段获取IP地址信息的方法,在加上PING命令来处理实现,检查该设备是否在线。

局域网ip搜索工具扫描设备的简单Java实现

局域网ip搜索工具扫描设备的简单Java实现图一

  代码很简单,主要浏览就是获取主机名,然后检查该设备是否可用,如果可用,那么我们的设备是在线的,如果不可用,那说明以前登陆过,现在无法登陆,然后可以根据主机名来实现自动配置的效果。

  具体代码

  public static void main(String[] args) {

  try {

  //设置IP地址网段

  String ips = "192.168.2.";

  String ip;

  InetAddress addip;

  //遍历IP地址

  for (int i = 1; i < 255; i++) {

  ip = ips + i;

  addip = InetAddress.getByName(ip);

  //获取登录过的设备

  if (!ip.equals(addip.getHostName())) {

  //检查设备是否在线,其中1000ms指定的是超时时间

  boolean status = InetAddress.getByName(addip.getHostName()).isReachable(1000);     // 当返回值是true时,说明host是可用的,false则不可。

  System.out.println("IP地址为:" + ip + "\t\t设备名称为: " + addip.getHostName() + "\t\t是否可用: " + (status ? "可用" : "不可用"));

  }

  }

  } catch (java.io.IOException uhe) {

  System.err.println("Unable to find: " + uhe.getLocalizedMessage());

  }

  }

局域网ip搜索工具扫描设备的简单Java实现

局域网ip搜索工具扫描设备的简单Java实现图二

  实现效果

  IP地址为:192.168.2.1        设备名称为: phicomm.me                              是否可用: 可用

  IP地址为:192.168.2.103     设备名称为: yunos-609150f1f6a4a718.lan       是否可用: 不可用

  IP地址为:192.168.2.124     设备名称为: tao-mac.lan                                是否可用: 可用

  IP地址为:192.168.2.149     设备名称为: android-2bd63cc5913f1868.lan     是否可用: 不可用

  IP地址为:192.168.2.183     设备名称为: redminote4x-hongmish.lan         是否可用: 不可用

  IP地址为:192.168.2.198     设备名称为: mi6-xiaomishouji.lan                 是否可用: 不可用

局域网ip搜索工具扫描设备的简单Java实现

局域网ip搜索工具扫描设备的简单Java实现图三

  在设置当前网段的时候,可以更具本机的IP地址来自动的设置当前网段,而不是手动的填写。在识别到某个设备可用的时候,通过接口或者主机名称来判断是是服务器,如果是的话,那么就进行连接操作!

  以上就是局域网ip搜索工具扫描设备的简单Java实现