[Java] 서버 IP 주소 가져오기

Wonjun Seo·2023년 7월 27일
0

InetAddress

InetAddress는 인터넷 프로토콜(Internet Protocol, IP) 주소를 나타냅니다. IP 주소는 UDP 및 TCP와 같은 프로토콜이 구죽되는 하위 수준 프로토콜인 IP에서 사용하는 32bit 또는 128bit의 부호 없는 숫자입니다.

INetAddress의 인스턴스는 IP 주소와 가능한 해당 호스트 이름으로 구성됩니다.

InetAddress의 주요 메서드

Static methods

Type Methods 설명
InetAddress[] getAllByName(String host) 호스트 이름이 주어지면 시스템에 구성된 이름 서비스를 기반으로 해당 IP 주소 배열을 반환합니다.
InetAddress getByAddress(byte[] addr) InetAddress원시 IP 주소가 지정된 개체를 반환합니다 .
InetAddress getByAddress(String host, byte[] addr) 제공된 호스트 이름과 IP 주소를 기반으로 InetAddress를 만듭니다.
InetAddress getByName(String host) 호스트 이름이 주어지면 호스트의 IP 주소를 결정합니다.
InetAddress getLocalHost() 로컬 호스트의 주소를 반환합니다.
InetAddress getLoopbackAddress() 루프백 주소를 반환합니다.

Instance methods

Type Methods 설명
byte[] getAddress() InetAddress 이 개체 의 원시 IP 주소를 반환 합니다.
static InetAddress getByName(String host) 호스트 이름이 주어지면 호스트의 IP 주소를 결정합니다.
String getCanonicalHostName() 이 IP 주소에 대한 정규화된 도메인 이름을 가져옵니다.
String getHostAddress() 텍스트 표현으로 IP 주소 문자열을 반환합니다.
String getHostName() 이 IP 주소의 호스트 이름을 가져옵니다.
boolean isAnyLocalAddress() 와일드카드 주소에 InetAddress가 있는지 확인하는 유틸리티 루틴입니다.
boolean isLinkLocalAddress() InetAddress가 링크 로컬 주소인지 확인하는 유틸리티 루틴입니다.
boolean isLoopbackAddress() InetAddress가 루프백 주소인지 확인하는 유틸리티 루틴입니다.
boolean isMCGlobal() 멀티캐스트 주소에 전역 범위가 있는지 확인하는 유틸리티 루틴입니다.
boolean isMCLinkLocal() 멀티캐스트 주소에 링크 범위가 있는지 확인하는 유틸리티 루틴입니다.
boolean isMCNodeLocal() 멀티캐스트 주소에 노드 범위가 있는지 확인하는 유틸리티 루틴입니다.
boolean isMCOrgLocal() 멀티캐스트 주소에 조직 범위가 있는지 확인하는 유틸리티 루틴입니다.
boolean isMCSiteLocal() 멀티캐스트 주소에 사이트 범위가 있는지 확인하는 유틸리티 루틴입니다.
boolean isMulticastAddress() InetAddress가 IP 멀티캐스트 주소인지 확인하는 유틸리티 루틴입니다.
boolean isReachable(int timeout) 해당 주소에 연결할 수 있는지 테스트합니다.
boolean isReachable(NetworkInterface netif, int ttl, int timeout) 해당 주소에 연결할 수 있는지 테스트합니다.
boolean isSiteLocalAddress() InetAddress가 사이트 로컬 주소인지 확인하는 유틸리티 루틴입니다.

Java 코드 예제

private String getServerIp() {
		
	InetAddress local = null;
	try {
		local = InetAddress.getLocalHost();
	}
	catch ( UnknownHostException e ) {
		e.printStackTrace();
	}
		
	if( local == null ) {
		return "";
	}
	else {
		String ip = local.getHostAddress();
		return ip;
	}
		
}

InetAddress 객체의 getHostAddress() 메서드를 사용하면 해당 서버의 IP 주소를 가져올 수 있다.

References

https://needneo.tistory.com/205

1개의 댓글

comment-user-thumbnail
2023년 7월 27일

많은 도움이 되었습니다, 감사합니다.

답글 달기