2013-07-25 2 views
4

파이썬 (lib ipaddress)에서 발견되었습니다. 그것은 파이썬 예제입니다.IP가 네트워크에 있는지 어떻게 알 수 있습니까?

ip="1.232.12.3" 
net="1.232.12.0/20" 
ip in net 

결과 true

내가이 자바에서 찾을 수 있습니까?

+0

는 [InetAddress를 #의 isReachable] 봐 (http://docs.oracle.com/javase/7/docs/api/java/을 복용하십시오 net/InetAddress.html # isReachable % 28int % 29) – MadProgrammer

+0

이것을 답으로 써야합니다. 질문 : 외부에서 답변 한 것으로 표시되어 있습니다. –

+0

isReachable()은 IP 주소가 같은지 여부를 알려주지 않습니다 네트워크에서는 가능한 원격 노드에 ping을 수행합니다. –

답변

5

IP가 주어진 경우 cidr 범위입니다. 자신의 코드를 작성하여 cidr의 시작과 끝을 파악하고 IP가 해당 범위에 속하는지 확인하거나 Apache Commons Net 라이브러리 만 사용할 수 있습니다.

SubnetUtils 클래스는 당신이 원하는 것을 정확하게 수행합니다

String cidrRange = "1.232.12.0/20"; 
String addr = "1.232.12.3"; 
SubnetUtils utils = new SubnetUtils(cidrRange); 
boolean isInRange = utils.getInfo().isInRange(addr); 
관련 문제