>Java >java지도 시간 >다중 인터페이스가 있는 네트워크에서 내 Java 시스템의 올바른 IP 주소를 어떻게 얻을 수 있습니까?

다중 인터페이스가 있는 네트워크에서 내 Java 시스템의 올바른 IP 주소를 어떻게 얻을 수 있습니까?

DDD
DDD원래의
2024-12-15 22:35:17722검색

How Can I Obtain the Correct IP Address of My Java Machine in a Network with Multiple Interfaces?

Java를 사용하여 현재 머신의 IP 주소 얻기

도전과 고려 사항

분산 시스템에서 특정 머신의 IP 주소를 결정하는 것은 간단한 작업은 아닙니다. 이러한 복잡성은 여러 네트워크 인터페이스와 각 인터페이스와 연결된 IP 주소가 존재할 가능성으로 인해 발생합니다. 또한 모든 IP 주소를 외부에서 접근할 수 있는 것은 아닙니다.

모든 관련 IP 주소 얻기

컴퓨터에 연결된 모든 IP 주소를 검색하는 한 가지 접근 방식은 NetworkInterface 클래스를 활용하는 것입니다. 이 방법은 각 네트워크 인터페이스를 반복하여 관련 IP 주소를 추출합니다. 그러나 이들을 구별하는 것은 어려운 일입니다.

IP 주소 구별

IP 주소를 구별하려면 다음 기준을 활용하십시오.

  • 루프백 주소 : 범위 127.0.0.0 - 127.255.255.255
  • 개인(사이트 로컬) 주소: 범위 192.168.0.0 - 192.168.255.255, 10.0.0.0 - 10.255.255.255, 172.16.0.0 - 172.31.255.255
  • 링크 로컬 주소: 범위 169.254.0.0 - 169.254.255.255
  • 멀티캐스트 주소: 범위 224.0.0.0 - 239.255.255.255
  • 방송 주소: 255.255.255.255
  • 공용 IP 주소: 위에 해당되지 않는 기타 IPv4 주소 카테고리

InetAddress API는 특정 IP 주소 유형을 테스트하는 방법을 제공하여 가장 적합한 주소를 식별하는 데 도움을 줍니다.

대체 접근 방법

컴퓨터의 IP 주소에는 다음이 포함됩니다.

  1. FQDN 가져오기 DNS 조회 사용: 호스트의 외부에 알려진 FQDN을 획득하고 InetAddress.getByName()을 사용하여 기본 IP 주소를 검색합니다.
  2. 구성에서 기본 FQDN 또는 IP 주소 검색: 지정 구성 파일이나 명령줄을 통해 원하는 FQDN 또는 IP 주소 인수.

InetAddress.getLocalHost()가 올바른 IP 주소를 검색하는 경우가 많지만 복잡한 네트워킹 환경에서는 대체 접근 방식이 필요할 수 있습니다.

위 내용은 다중 인터페이스가 있는 네트워크에서 내 Java 시스템의 올바른 IP 주소를 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.