일부 웹사이트는 어떻게 내 개인 IP 주소를 얻을 수 있나요?

일부 웹사이트는 어떻게 내 개인 IP 주소를 얻을 수 있나요?

다음과 같은 일부 웹사이트http://www.geoip.co.uk다른 사람들이 좋아하는 곳에서 내 호스트의 개인 IP 주소를 얻을 수 있습니다https://www.iplocation.net/그렇게 할 수 없습니다.
이 행동의 이유는 무엇입니까? NAT 인터페이스를 사용하면 개인 IP는 서버에 접근할 수 없다고 항상 생각했습니다.
NAT는 나가는 패킷에 공용 IP를 추가합니까, 아니면 개인 IP를 완전히 제거합니까? 후자의 경우 위에서 언급한 동작이 관찰되는 이유는 무엇입니까?
그리고 소스코드를 보니http://www.geoip.co.uk, 나는 내 IP가 JavaScript 함수에 대한 어떤 종류의 호출 없이 텍스트로 직접 렌더링되는 것을 관찰했습니다. 그럼 웹사이트는 내 개인 IP를 어떻게 알 수 있나요?~ 전에심지어 웹페이지도 렌더링하나요?

개인 IP

10.9.64.58은 내 개인 IP 주소(ipconfig 이후에 얻는 주소)입니다.

편집: @simlev가 다음 정보를 추가해야 한다고 지적했습니다. 저는 대학생이고 PC에서 사이트를 방문할 때 연구소의 LAN에 연결되어 있지만 휴대폰에서도 동일한 동작이 관찰되고 휴대폰이 켜져 있지 않습니다. 그 랜. Imgur 스크린샷여기그리고여기.

편집: 관련성이 있다고 생각되는 또 다른 관찰: https://를 사용하여 웹사이트를 방문하면 공개 IP(원하는 것)를 얻지만 http://를 사용하여 방문할 때만 개인 IP를 얻습니다. 그렇다면 여기서 말하는 프로토콜 문제가 있습니까?

답변1

http 프록시를 사용하시나요? 내 경우에는 웹 프록시가 내부 IP를 전달하는데 이는 아마도 남용 방지 기능일 것입니다.

비슷한 가능성은 ISP가 공유 외부 IP 주소만 제공한 다음 웹사이트를 방문할 때 내부 IP도 전달한다는 것입니다. 이는 학대자를 식별하기 위한 것입니다. 웹 사이트는 ISP에 학대 보고서를 제출할 때 두 IP를 모두 제공할 수 있으며 내부 IP 덕분에 ISP는 학대 사용자를 신속하게 추적할 수 있습니다. 외부 공유 IP만 사용하면 이 작업을 수행하기가 더 어려울 수 있습니다.

요청과 함께 내부 IP와 외부 IP가 모두 전달되므로 IP 표시 웹사이트 중 일부는 요청이 실제로 발생한 IP를 표시하도록 선택하는 반면 다른 일부는 요청이 이루어진 계정의 IP를 표시합니다.

보내는 헤더를 확인하세요(예:여기). 아마도 네트워크의 무언가나 ISP의 네트워크 장치 중 하나에 의해 개인 IP가 추가된 X-Forwarded-For가 있을 것입니다.

자세한 내용은 Cristopher's, Adam Katz's 및 Mark's 답변을 참조하세요.여기. 그건 그렇고, Mark는 나와 동일한 제안을 제공하고 동일한 웹 사이트에 대한 링크를 제공합니다. :-)

업데이트:예, 아마도 프록시를 사용하고 있을 것입니다.

귀하의 의견에서 알 수 있듯이 귀하가 캠퍼스에 있는 경우 귀하의 ISP(대학이라고도 함)가 각 학생을 인터넷에 직접 연결하지 않는다는 것만 이해가 됩니다. 귀하가 투명하게 프록시를 사용하고 있다고 추측하기 쉽습니다. .

업데이트:OP가 알아차리고 올바르게 지적했듯이 https를 통해 방문한 동일한 웹 사이트에는 대신 외부 IP가 표시됩니다. 이는 프록시이므로 예상됩니다.대개https 트래픽을 변경하지 않으므로 내부 IP 주소를 제공하는 X-Forwarded-For를 추가할 수 없습니다.

답변2

웹사이트가 WebRTC 보안 유출을 이용하고 있을 가능성이 있습니다.

u블록 오리진(파이어폭스용/크롬용)은 이 보안 취약점을 해결할 수 있습니다. 하지만 설정 페이지로 이동하여 "WebRTC의 로컬 IP 주소 유출 방지"라는 해당 상자를 선택해야 합니다.

관련 정보