import java.net.InetAddress;
import java.net.UnknownHostException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Tests {
protected Logger log = LoggerFactory.getLogger(this.getClass());
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@Test
public void IPRangeCheck(){
log.info(">>>>>>>>>>"+isValidRange("192.168.4.1","192.168.45.112","192.168.42.25"));
}
/**
* 判断是否在之间
* @param ipStart 开始IP
* @param ipEnd 结束IP
* @param ipToCheck 需要比较IP
* @return
*/
public boolean isValidRange(String ipStart,String ipEnd,String ipToCheck){
try {
long ipLo = ipTolong(InetAddress.getByName(ipStart));
long ipHi = ipTolong(InetAddress.getByName(ipEnd));
long ipcheck = ipTolong(InetAddress.getByName(ipToCheck));
return (ipcheck >ipLo && ipcheck < ipHi);
} catch (UnknownHostException e) {
e.printStackTrace();
return false;
}
}
public long ipTolong(InetAddress ip){
long result = 0;
byte[] ipAdds=ip.getAddress();
for (byte b : ipAdds) {
result <<= 8;
result |= b&0xff;
}
return result;
}
}