2 개의 연결된 SocketChannels를 비교하여 동일한 컴퓨터에서 왔는지 확인할 수 있습니까? 두 연결을 일치시켜야하는 Java 프로그램이 있습니다. IP를 비교해도 IP를 비교해도 동일한 시스템의 연결인지 여부를 알 수 없기 때문에 IP로 일치하는 것은 충분히 신뢰할 수 없습니다.2 개의 SocketChannel이 같은 컴퓨터에 있는지 어떻게 구별합니까?
나는 답을 찾고 있었지만 아무 것도 찾지 못했습니다.
감사합니다.
2 개의 연결된 SocketChannels를 비교하여 동일한 컴퓨터에서 왔는지 확인할 수 있습니까? 두 연결을 일치시켜야하는 Java 프로그램이 있습니다. IP를 비교해도 IP를 비교해도 동일한 시스템의 연결인지 여부를 알 수 없기 때문에 IP로 일치하는 것은 충분히 신뢰할 수 없습니다.2 개의 SocketChannel이 같은 컴퓨터에 있는지 어떻게 구별합니까?
나는 답을 찾고 있었지만 아무 것도 찾지 못했습니다.
감사합니다.
사용 getInetAddress(). 소켓에 getHostName의()과 고유 있는지뿐만 아니라 확인 IP 주소 (충분히 신뢰할 수있는 예를 들어 있기 때문에이 없습 또는 프록시의하지 않은 경우 IP 주소는
IP 주소가 같지 않은 경우 어떻게해야합니까? 하나는 프록시를 사용하고 다른 하나는 사용하지 않는 2 개의 브라우저 (파이어 폭스와 크롬) 사용을 고려하십시오. –
사실이 프록시에 대해 작동하지 않지만 클라이언트가 실제로 자체 MAC 주소 또는 뭔가 보내지 않는 한 모든 솔루션을 서버 관점에서 수 있을지 모르겠다. – ghostbust555
고유 한 경우) 그러면 당신은 붙어 있습니다.
공유 암호를 기반으로 무언가를 구현하는 것을 고려해 볼 수 있습니다. 예 : 공용/개인 키 또는 SSL 인증서를 사용합니다. 그러나 다른 컴퓨터의 소유자를 신뢰하여 비밀로 유지하고 여러 컴퓨터에 설치하지 않는 것으로 가정합니다.
IP로 일치하는 이유가 정확하지 않은 이유는 무엇입니까? –
IP가 동일한 기계의 연결인지 여부를 알 수 없기 때문에 신뢰할 수 없음을 의미합니다. – user1265395
@ user1265395 물론 NAT 장비 뒤에있는 컴퓨터를 언급하지 않는 한 아무 것도 할 수 없습니다. – EJP