Dostaję adres IP poprzez Client
poniżej metody:Java - Jak wykryć wersję IP
public static String getClientIpAddr(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For");
...
return ip
}
Teraz chcę, aby wykryć, czy jest to IPV4
lub IPV6
.
Można użyć wyrażenia regularnego, jak podano tutaj http://www.java2s.com/Code/Java/Network-Protocol/DetermineifthegivenstringisavalidIPv4orIPv6address. htm – Tala
Należy pamiętać, że jeśli X-Forwarded-For nie jest ustawiony przez serwer * twój * (np. BigIP F5), nie można mu ufać, ponieważ może być ustawiony przez klienta na cokolwiek. – lapkritinis