添加ipv6转换类库,处理ipv6格式的转换
This commit is contained in:
@@ -153,5 +153,10 @@
|
|||||||
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
|
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
|
<classpathentry kind="lib" path="lib/java-ipv6-0.16.jar">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="output" path="target/classes"/>
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|||||||
BIN
lib/java-ipv6-0.16.jar
Normal file
BIN
lib/java-ipv6-0.16.jar
Normal file
Binary file not shown.
@@ -19,6 +19,9 @@ import com.google.gson.JsonElement;
|
|||||||
import com.google.gson.JsonPrimitive;
|
import com.google.gson.JsonPrimitive;
|
||||||
import com.google.gson.JsonSerializationContext;
|
import com.google.gson.JsonSerializationContext;
|
||||||
import com.google.gson.JsonSerializer;
|
import com.google.gson.JsonSerializer;
|
||||||
|
import com.googlecode.ipv6.IPv6Address;
|
||||||
|
import com.googlecode.ipv6.IPv6AddressRange;
|
||||||
|
import com.googlecode.ipv6.IPv6Network;
|
||||||
import com.nis.domain.SysRole;
|
import com.nis.domain.SysRole;
|
||||||
import com.nis.domain.SysUser;
|
import com.nis.domain.SysUser;
|
||||||
import com.nis.domain.configuration.BaseCfg;
|
import com.nis.domain.configuration.BaseCfg;
|
||||||
@@ -344,74 +347,86 @@ public abstract class BaseService {
|
|||||||
public static IpCfg ipConvert(IpCfg dstIp,BaseIpCfg srcIp){
|
public static IpCfg ipConvert(IpCfg dstIp,BaseIpCfg srcIp){
|
||||||
if(srcIp.getSrcIpAddress()!=null){
|
if(srcIp.getSrcIpAddress()!=null){
|
||||||
if(srcIp.getSrcIpAddress().indexOf("/")!=-1){
|
if(srcIp.getSrcIpAddress().indexOf("/")!=-1){
|
||||||
if(srcIp.getIpType()==4){
|
if(srcIp.getIpType()==4 || srcIp.getIpType()==46){
|
||||||
Integer srcMaskNum = Integer.parseInt(srcIp.getSrcIpAddress().split("/")[1]);
|
Integer srcMaskNum = Integer.parseInt(srcIp.getSrcIpAddress().split("/")[1]);
|
||||||
dstIp.setSrcIpMask(IpUtil.convertMask(srcMaskNum));
|
dstIp.setSrcIpMask(IpUtil.convertMask(srcMaskNum));
|
||||||
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("/")[0]);
|
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("/")[0]);
|
||||||
}else{
|
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){
|
||||||
|
IPv6Network strangeNetwork = IPv6Network.fromString(srcIp.getSrcIpAddress());
|
||||||
|
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("/")[0]);
|
||||||
|
dstIp.setSrcIpMask(strangeNetwork.getNetmask().asAddress().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if(srcIp.getSrcIpAddress().indexOf("-")!=-1){
|
}else if(srcIp.getSrcIpAddress().indexOf("-")!=-1){
|
||||||
if(srcIp.getIpType()==4){
|
if(srcIp.getIpType()==4|| srcIp.getIpType()==46){
|
||||||
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("-")[0]);
|
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("-")[0]);
|
||||||
dstIp.setSrcIpMask(IpUtil.getMask(srcIp.getSrcIpAddress().split("-")[0], srcIp.getSrcIpAddress().split("-")[1]));
|
dstIp.setSrcIpMask(IpUtil.getMask(srcIp.getSrcIpAddress().split("-")[0], srcIp.getSrcIpAddress().split("-")[1]));
|
||||||
}else{
|
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){
|
||||||
|
IPv6Address address1 = IPv6Address.fromString(srcIp.getSrcIpAddress().split("-")[0]);
|
||||||
|
IPv6Address address2 = IPv6Address.fromString(srcIp.getSrcIpAddress().split("-")[1]);
|
||||||
|
IPv6Network network = IPv6Network.fromTwoAddresses(address1,address2);
|
||||||
|
dstIp.setSrcIp(address1.toString());
|
||||||
|
dstIp.setSrcIpMask(network.getNetmask().asAddress().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
if(srcIp.getIpType()==4){
|
if(srcIp.getIpType()==4|| srcIp.getIpType()==46){
|
||||||
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
||||||
dstIp.setSrcIpMask("0.0.0.0");
|
dstIp.setSrcIpMask("0.0.0.0");
|
||||||
}else{
|
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){
|
||||||
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
||||||
dstIp.setSrcIpMask("::");
|
dstIp.setSrcIpMask("::");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(srcIp.getIpType()==4){
|
if(srcIp.getIpType()==4|| srcIp.getIpType()==46){
|
||||||
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
||||||
dstIp.setSrcIpMask("0.0.0.0");
|
dstIp.setSrcIpMask("0.0.0.0");
|
||||||
}else{
|
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){
|
||||||
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
||||||
dstIp.setSrcIpMask("::");
|
dstIp.setSrcIpMask("::");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(srcIp.getDestIpAddress()!=null){
|
if(srcIp.getDestIpAddress()!=null){
|
||||||
if(srcIp.getDestIpAddress().indexOf("/")!=-1){
|
if(srcIp.getDestIpAddress().indexOf("/")!=-1){
|
||||||
if(srcIp.getIpType()==4){
|
if(srcIp.getIpType()==4|| srcIp.getIpType()==46){
|
||||||
Integer dstMaskNum = Integer.parseInt(srcIp.getDestIpAddress().split("/")[1]);
|
Integer dstMaskNum = Integer.parseInt(srcIp.getDestIpAddress().split("/")[1]);
|
||||||
dstIp.setDstIpMask(IpUtil.convertMask(dstMaskNum));
|
dstIp.setDstIpMask(IpUtil.convertMask(dstMaskNum));
|
||||||
dstIp.setDstIp(srcIp.getDestIpAddress().split("/")[0]);
|
dstIp.setDstIp(srcIp.getDestIpAddress().split("/")[0]);
|
||||||
}else{
|
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){
|
||||||
|
IPv6Network strangeNetwork = IPv6Network.fromString(srcIp.getDestIpAddress());
|
||||||
|
dstIp.setDstIp(srcIp.getDestIpAddress().split("/")[0]);
|
||||||
|
dstIp.setDstIpMask(strangeNetwork.getNetmask().asAddress().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if(srcIp.getDestIpAddress().indexOf("-")!=-1){
|
}else if(srcIp.getDestIpAddress().indexOf("-")!=-1){
|
||||||
if(srcIp.getIpType()==4){
|
if(srcIp.getIpType()==4|| srcIp.getIpType()==46){
|
||||||
dstIp.setDstIp(srcIp.getDestIpAddress().split("-")[0]);
|
dstIp.setDstIp(srcIp.getDestIpAddress().split("-")[0]);
|
||||||
dstIp.setDstIpMask(IpUtil.getMask(srcIp.getDestIpAddress().split("-")[0], srcIp.getDestIpAddress().split("-")[1]));
|
dstIp.setDstIpMask(IpUtil.getMask(srcIp.getDestIpAddress().split("-")[0], srcIp.getDestIpAddress().split("-")[1]));
|
||||||
}else{
|
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){
|
||||||
|
IPv6Address address1 = IPv6Address.fromString(srcIp.getDestIpAddress().split("-")[0]);
|
||||||
|
IPv6Address address2 = IPv6Address.fromString(srcIp.getDestIpAddress().split("-")[1]);
|
||||||
|
IPv6Network network = IPv6Network.fromTwoAddresses(address1,address2);
|
||||||
|
dstIp.setDstIp(address1.toString());
|
||||||
|
dstIp.setDstIpMask(network.getNetmask().asAddress().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
if(srcIp.getIpType()==4){
|
if(srcIp.getIpType()==4|| srcIp.getIpType()==46){
|
||||||
dstIp.setDstIp(srcIp.getDestIpAddress());
|
dstIp.setDstIp(srcIp.getDestIpAddress());
|
||||||
dstIp.setDstIpMask("0.0.0.0");
|
dstIp.setDstIpMask("0.0.0.0");
|
||||||
}else{
|
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){
|
||||||
dstIp.setDstIp(srcIp.getDestIpAddress());
|
dstIp.setDstIp(srcIp.getDestIpAddress());
|
||||||
dstIp.setDstIpMask("::");
|
dstIp.setDstIpMask("::");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(srcIp.getIpType()==4){
|
if(srcIp.getIpType()==4|| srcIp.getIpType()==46){
|
||||||
dstIp.setDstIp(srcIp.getDestIpAddress());
|
dstIp.setDstIp(srcIp.getDestIpAddress());
|
||||||
dstIp.setDstIpMask("0.0.0.0");
|
dstIp.setDstIpMask("0.0.0.0");
|
||||||
}else{
|
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){
|
||||||
dstIp.setDstIp(srcIp.getDestIpAddress());
|
dstIp.setDstIp(srcIp.getDestIpAddress());
|
||||||
dstIp.setDstIpMask("::");
|
dstIp.setDstIpMask("::");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user