2012-11-26 52 views
1

當我訪問該網站時http://myipaddress.com/what-is-my-ip-address/網站如何知道您的IP地址?

我檢查了請求頭信息。沒有包括我的IP地址。那麼Web服務器如何能夠確定我的IP地址?我知道任何Web服務器都可以訪問這些信息。但是如果它不在HTTP請求中,他們如何得到它?

+1

這個問題在這裏得到了更全面的回答。 請參閱此鏈接[link] http://security.stackexchange.com/questions/16449/how-does-a-server-obtain-the-ip-address-of-a-user –

回答

4

您正在連接到服務器並向其發送HTTP請求。服務器回覆一個頁面。要做到這一點,它必須知道在哪裏發送答覆。該信息可以從套接字連接(即從低於HTTP的級別)自動獲得,因此它不必在請求頭中重複。

編輯: 如果您想了解更多有關Web服務器是如何做到這一點,看到accept function。當一個連接進入時,Web服務器調用accept,它會自動爲其提供另一端的地址。

3

它位於到Web服務器的傳入TCP/IP數據包中。 HTTP數據包在通過Internet發送時封裝在TCP/IP數據包中(這看起來很奇怪,它們本身也被各種傳輸協議封裝)。

傳入的TCP/IP數據包將包含一些關於源的信息,包括source IP address以及source port number

+1

另外一點:您可能通過NAT防火牆/路由器(這將是您的ADSL或電纜盒)連接到互聯網 - 如果是這種情況,IP地址將是**路由器**,而不是內部網絡中的IP地址。 –

+0

@安德魯:偉大的一點。 –

相關問題