사용자의 IP를 가져오기 (IPv4)

by 조쉬 posted Jun 29, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

사용자의 IP를 가져오는 방법으로는 흔히 HttpServletRequest에 접근하여 아래와 같은 메소드를 호출 하는 방법이 있습니다.


 request.getLocalAddr();

 request.getRemoteAddr()

 


하지만 실제로 해보면 0:0:0:0:0:0:0:1와 같은 값을 뱉어내게 되는데 이는 IPv6의 값으로 IPv4로 변환하면 127.0.0.1 즉 기본적인 루프백 값을 뱉게 됩니다. 이 때 실제 아이피를 가져오기 위해서는 이클립스의 환경변수를 건드리는 방법이 있긴 한데 귀찮으니 다른 방법을 찾았습니다.


java.net 에 속해있는 Inet4Address.getLocalHost() 메소드를 사용합니다.

반환 값은 InetAddress이며 출력해보면 심해펭귄/210.211.232.222 와 같은 식으로 컴퓨터의 이름과 아이피를 가져오게 됩니다.

아이피만 가져오고 싶다면 아래처럼 getHostAdress 메소드에 접근하면 됩니다.


 Inet4Address.getLocalHost().getHostAddress()    // IPv4 아이피가 출력됩니다.