2012-11-26 3 views
1

내가 웹 사이트를 방문했을 때 http://myipaddress.com/what-is-my-ip-address/웹 사이트에서 귀하의 IP 주소를 어떻게 알 수 있습니까?

요청 헤더 정보를 확인했습니다. 아니요. 내 IP 주소는 어디에 포함되어 있습니까? 그러면 웹 서버가 내 IP 주소를 어떻게 결정할 수 있습니까? 모든 웹 서버가이 정보에 액세스 할 수 있다는 것을 알고 있습니다. 그러나 HTTP 요청이 없으면 어떻게 가져올 수 있습니까?

+1

이 질문에 대한 대답은 여기에서 자세히 설명되어 있습니다. [링크] http://security.stackexchange.com/questions/16449/how-does-a-server-obtain-the-ip-address-of-a-user –

답변

4

서버에 연결하여 HTTP 요청을 보내고 있습니다. 서버는 페이지로 응답합니다. 그렇게하기 위해서는 답장을 보낼 곳을 알아야합니다. 이 정보는 소켓 연결 (즉, HTTP보다 낮은 레벨)에서 자동으로 사용할 수 있으므로 요청 헤더에서 반복하지 않아도됩니다.

편집 : 웹 서버의 작동 방식에 대해 자세히 알고 싶으면 accept function을 참조하십시오. 연결이 들어 오면 웹 서버는 accept으로 전화를 걸면 다른 쪽의 주소가 자동으로 제공됩니다.

3

웹 서버에 들어오는 TCP/IP 패킷입니다. HTTP 패킷은 인터넷을 통해 전송 될 때 TCP/IP 패킷 내에 캡슐화됩니다 (이상하게 보일 수도 있지만, 전송 중 다양한 프로토콜로 캡슐화됩니다).

들어오는 TCP/IP 패킷에는 source IP addresssource port number을 비롯한 소스에 대한 정보가 약간 포함됩니다.

+1

한 가지 추가 요점 : 아마도 NAT 방화벽/라우터 (ADSL 또는 케이블 박스)를 통해 인터넷에 연결하십시오.이 경우 IP 주소는 내부 네트워크의 IP 주소가 아닌 ** 라우터 **가됩니다. –

+0

@Andrew : 좋은 지적입니다. –

관련 문제