當前位置:首頁 » 雲伺服器 » 伺服器如何獲取客戶端的ip

伺服器如何獲取客戶端的ip

發布時間: 2023-05-31 05:03:05

Ⅰ http伺服器怎樣獲取客戶端ip

客戶端
ip
地址是通過
cgi
變數
remote_addr
得到的,這個是
http
伺服器負責提供。
http
伺服器和客戶端瀏覽器之間存在
socket
連接,socket
連接信息包含了另一側的
ip
地址和埠。
當然,最終用戶如果是通過代理伺服器訪問怎麼辦呢?目前主流的
http
代理伺服器都支持在
http
報頭添加
x-forwarded-for
信息,這可以是一個列表,如果所有的代理

Ⅱ 如何獲取客戶端真實IP

您好,.X.XXX.XXX系列IP,而這個函數獲取的是區域網網關出口的IP地碧咐址,如果訪問者使用代理伺服器,將不獲取代理伺服器的IP,而是獲取訪問者網關的真實IP。如果將這個函數應用到限IP訪問的網頁中,別人即使通過限IP訪問段中的代理伺服器,也不能訪問該頁面。
下面提供一個函數:<?php
// 定義一個函數getIP()
function getIP(){global $ip;
if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");else$ip = "Unknow";
return $ip;}
// 使用方法:
echo getIP();?>
getenv("REMOTE_ADDR")用來取得客戶端的 IP 地址,但如果客戶端是使用代理伺服器來訪問,那取到的就是代理伺服器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理伺服器取得客戶端的真實 IP 地址,就要使用 getenv("HTTP_X_FORWARDED_FOR") 來讀取。
但是如果客戶端沒有通過代理伺服器來訪問,那麼用getenv("悔缺純HTTP_X_FORWARDED_FOR") 取到的值將是空的。
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
表示如果getenv("HTTP_X_FORWARDED_FOR") 取到的值存在不為空(即客戶端使用代理伺服器扮神的情況下),則變數$ip等於getenv("HTTP_X_FORWARDED_FOR") 取到的真實IP值。
如果上面的else if(getenv("HTTP_X_FORWARDED_FOR"))取得的值為空(即沒有使用代理伺服器),則不會執行下面的$ip = getenv("HTTP_X_FORWARDED_FOR");這一行語句。
這種情況下已經確認客戶端沒有使用代理伺服器,從而通過
else if(getenv("REMOTE_ADDR"))
這兩行語句獲得客戶端的IP地址也是真實的IP地址。

Ⅲ 如何獲取客戶端ip

    取客戶端的IP地址的方法通常是request.getRemoteAddr(),這種方法在大部分情況下都是有效的。如果使用了反向代理軟體(Apache,Squid等),用request.getRemoteAddr()方法獲取的IP地址實際上是代理伺服器的地址。
    不過大部分HTTP代理或負載均衡伺服器會將銷鉛X-Forwarded-For作為存放客戶端最原始的IP地址的HTTP請求頭欄位,如果經過多級反向代理的話,IP將會追加在其後並以逗號隔開,X-Forwarded-For的值並不止一個,取X-Forwarded-For中第一個非unknown的有效IP字元串即可。
    經過apache http轉發後一般會加上Proxy-Client-IP請求頭握橘,WL-Proxy-Client-IP是它的weblogic插件加段斗團上的請求頭,有些代理伺服器會加上此請求頭HTTP_CLIENT_IP,nginx代理一般會加上請求頭X-Real-IP。獲取方法參考下面:

Ⅳ 在java後台伺服器,如何根據HttpSession獲得客戶端ip

只能根據用戶請求帶過來的sessionID所匹配的ip地址 而且只可以通過request獲得ip 反正你能得到session 那得到request是一樣簡單的不是嗎
得到request後命令為:

String ip = request.getRemoteAddr();
這個ip字元串就是了

Ⅳ tcp 服務端怎麼獲得連接進來的客戶端的ip

Socket clientSock = ServerSocket.Accpet(); 接受客戶端連接 DateTime connectTime = DateTime.Now; 連接一個客戶端後,當前時間就橡悉脊是連接梁滲時間陸槐。 (clientSock.RemoteEndPoint as IPEndPoint).IPAddress; ip地址 (clientSock.RemoteEndPoint as IPEndPoint).Port; 埠號

Ⅵ TCP伺服器怎麼獲得客戶端socket連接的IP

你是想知道代碼還是想了解原理,一般的C/S模型都由客戶端發出連接請求(客戶端在代碼中都是存有伺服器端的具體ip地址和埠信息(也就是伺服器端的INET協議族地址結構)的),當客戶端發送連接請求後,伺服器端通過accpet函數接收連接請求,accpet函數示例:accept(ServerSocket,(struct sockaddr *)&from,&len) (from是一個INET協議族地址結構變數,(struct sockaddr *)的作用是把INET協議族地址結構強制轉換為通用地址結構) ,accpet函數在接收連接的同時會把客戶端的具體ip和埠信息賦值給from,所以說客戶端socket連接的ip(非綁定的話客戶機隨機綁定ip和埠)是包含在連接報文數據里,伺服器端只有接收到客戶端發送的連接信息後,才會獲得客戶端的ip和埠信息,獲得具體ip的方式是通過函數,這個函數可以提取出IPv4地址結構中的點分十進制地址,函數用法:inet_ntoa(from.sin_addr)。

Ⅶ TCP伺服器如何檢測客戶端的IP和埠

你熟悉socket
API不?如果不熟悉的話建議先看看socket編程的文檔。這是鏈接地址:http://msdn.microsoft.com/en-us/library/ms738545(v=VS.85).aspx
一般服務端的sokcet
API調用順序為:
bind()
//
設置服務埠
listen()
//
等待客戶端連接
accept()
//
與客戶端建立連接
請參考:http://msdn.microsoft.com/en-us/library/ms737526(v=VS.85).aspx
這是accept函數的原型:
SOCKET
accept(
__in
SOCKET
s,
__out
struct
sockaddr
*addr,
__inout
int
*addrlen
);
第二個參數,
addr,包含了客戶端的IP地址和埠。你可以認為這就是客戶端的IP和埠。但是,要注意的是這個IP不一定就完全等價於客戶端本機的埠。比如:客戶端在一個區域網里,IP地址是192.168.1.100,然後它通過ADSL路由連接到internet,再通過internet連接到服務端。這個時候,服務端獲得的客戶端IP地址就可能是那個ADSL路由的IP。

Ⅷ 關於C#伺服器端如何獲取連接它的客戶端的IP地址的問題

IPHostEntryipe=Dns.GetHostEntry(Dns.GetHostName());

並旅IPAddressipa=檔臘ipe.AddressList[1];

label.Text=ipa.Tostring();//看看行蔽滑是不是你想要的

Ⅸ ASP.NET中伺服器端如何獲取客戶端的外網IP

public static IPAddress GetMyselfIP()
{
IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddr = ipHost.AddressList[0];
return ipAddr;
}
在客緩租戶端上運行這裂檔個方法能夠獲得客戶端擾源兆的IP,然後發到伺服器端就成了

Ⅹ 伺服器如何獲取客戶端的IP地址,並與客戶端建立TCP連接

客戶端的IP自動獲取,關鍵要看客戶端的IP是由誰來分配的,如果都是有ISP提供的那麼伺服器利用IP去連接客戶端就不太可能。可以嘗試用下面兩種思路解決:
1、能否讓客戶機主動連接伺服器。
2、使用動態DNS。讓每個客戶機都申請一個動態域名,無論它的IP怎樣變,當改變以後都會到DNS伺服器進行注冊,然後伺服器使用主機的名字訪問客戶端。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372