clarify method names and signatures

This commit is contained in:
Anton Keks 2022-01-16 15:21:08 +02:00
parent 7e6b601c9d
commit c1ec0e3741
3 changed files with 8 additions and 7 deletions

View File

@ -50,11 +50,11 @@ public class ScanningSubject {
int adaptedPortTimeout = -1;
public ScanningSubject(InetAddress address) {
this(address, InetAddressUtils.getInterface(address));
this(address, InetAddressUtils.getInterfaceByLocalAddr(address));
}
public ScanningSubject(InetAddress address, NetworkInterface netIf) {
this(address, netIf, matchingAddress(netIf, address));
this(address, netIf, matchingAddress(netIf, address.getClass()));
}
public ScanningSubject(InetAddress address, NetworkInterface netIf, InterfaceAddress ifAddr) {

View File

@ -53,8 +53,8 @@ public class RangeFeeder extends AbstractFeeder {
try {
this.startIP = this.currentIP = InetAddress.getByName(startIP);
this.endIP = this.originalEndIP = InetAddress.getByName(endIP);
this.netIf = getInterface(ifAddr != null ? ifAddr.getAddress() : this.startIP);
this.ifAddr = ifAddr != null ? ifAddr : matchingAddress(netIf, this.startIP);
this.netIf = ifAddr != null ? getInterfaceByLocalAddr(ifAddr.getAddress()) : null;
this.ifAddr = ifAddr != null ? ifAddr : matchingAddress(netIf, this.startIP.getClass());
this.isReverse = false;
}
catch (UnknownHostException e) {

View File

@ -192,8 +192,9 @@ public class InetAddressUtils {
return anyAddress;
}
public static NetworkInterface getInterface(InetAddress address) {
public static NetworkInterface getInterfaceByLocalAddr(InetAddress address) {
try {
if (address == null) return null;
return NetworkInterface.getByInetAddress(address);
}
catch (SocketException e) {
@ -201,9 +202,9 @@ public class InetAddressUtils {
}
}
public static InterfaceAddress matchingAddress(NetworkInterface netIf, InetAddress address) {
public static InterfaceAddress matchingAddress(NetworkInterface netIf, Class<? extends InetAddress> addressClass) {
if (netIf == null) return null;
return netIf.getInterfaceAddresses().stream().filter(i -> i.getAddress().getClass() == address.getClass()).findFirst().orElse(null);
return netIf.getInterfaceAddresses().stream().filter(i -> i.getAddress().getClass() == addressClass).findFirst().orElse(null);
}
public static List<NetworkInterface> getNetworkInterfaces() throws SocketException {