diff --git a/src/zutil/InetUtil.java b/src/zutil/InetUtil.java new file mode 100755 index 0000000..e7e5087 --- /dev/null +++ b/src/zutil/InetUtil.java @@ -0,0 +1,54 @@ +package zutil; + +import zutil.converter.Converter; + +import java.net.Inet4Address; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.List; + +/** + * This class contains IP and MAC utility methods. + * + * Created by Ziver on 2016-10-04. + */ +public class InetUtil { + + /** + * @return a list of IPv4 addresses for the all local network cards + */ + public static List getLocalInet4Address(){ + ArrayList ips = new ArrayList<>(); + try { + Enumeration netIntf = NetworkInterface.getNetworkInterfaces(); + while(netIntf.hasMoreElements()){ + Enumeration addresses = netIntf.nextElement().getInetAddresses(); + while (addresses.hasMoreElements()){ + InetAddress ip = addresses.nextElement(); + if (ip instanceof Inet4Address && ip.isSiteLocalAddress()) + ips.add(ip); + } + } + } catch (SocketException e) { + e.printStackTrace(); + } + return ips; + } + + + /** + * @return the String representation of the given MAC address + */ + public static String getHardwareAddressInString(byte[] address) { + StringBuilder str = new StringBuilder(); + for (int i = 0; i < address.length; i++) { + if (i != 0) + str.append(':'); + str.append(Converter.toHexString(address[i])); + } + return str.toString(); + } +} diff --git a/src/zutil/net/InetScanner.java b/src/zutil/net/InetScanner.java index 98df673..f4c9b30 100755 --- a/src/zutil/net/InetScanner.java +++ b/src/zutil/net/InetScanner.java @@ -110,27 +110,6 @@ public class InetScanner { return line.contains("TTL=") || line.contains("ttl="); } - /** - * @return a list of IPv4 addresses for the all local network cards - */ - public static List getLocalInet4Address(){ - ArrayList ips = new ArrayList<>(); - try { - Enumeration netIntf = NetworkInterface.getNetworkInterfaces(); - while(netIntf.hasMoreElements()){ - Enumeration addresses = netIntf.nextElement().getInetAddresses(); - while (addresses.hasMoreElements()){ - InetAddress ip = addresses.nextElement(); - if (ip instanceof Inet4Address && ip.isSiteLocalAddress()) - ips.add(ip); - } - } - } catch (SocketException e) { - e.printStackTrace(); - } - return ips; - } - public interface InetScanListener { void foundInetAddress(InetAddress ip);