2011-12-21 131 views

回答

3

不,不可能。 NAT意味着網絡地址翻譯 - 數據包的IP地址在NAT設備上被重寫,所以公共IP地址是唯一的,就您的服務器而言。

但是,您可以使用一些技巧 - 例如使用Java Applet檢查內部IP地址。看到這一點:Get the correct local IP address from java applet

+0

(我不知道你需要什麼內部IP地址,並且注意多個嵌套的NAT是可能的 - 這樣可以看到一臺計算機,例如192.168.0.153,10.53.0.1,192.168.42.12和1.2.3.4,取決於網絡拓撲) – Piskvor 2011-12-21 08:29:35

+0

我需要內部IP來跟蹤網絡附近的系統。在這裏他們使用多個NAT進行網絡。 – 2011-12-21 08:45:54

+0

將嘗試此Applet代碼... – 2011-12-21 08:47:49

4

使用HTTP和php無法獲得NAT後面的IP。

+0

好的......謝謝..... – 2011-12-21 08:25:04

2

否。PHP只能看到外部IP。

'REMOTE_ADDR' 用戶正在查看當前頁面的IP地址。

2

,如果他們使用的是代理,你可以使用

 $real_ip = $_SERVER['HTTP_X_FORWARDED_FOR'] 

否則,就不可能

+0

好點;但在大多數NAT設置中,情況並非如此。 – Piskvor 2011-12-21 08:30:43

+0

$ real_ip = $ _SERVER ['HTTP_X_FORWARDED_FOR']用於代理檢測權嗎? – 2011-12-21 08:42:33

+0

請問您可以查看http://en.wikipedia.org/wiki/X-Forwarded-For – mustafa 2011-12-21 08:56:07

0

你無法看到客戶端的私網地址,通常你不小心看到這是因爲你無法訪問它。即使它使用代理,有時你可能會得到地址:

$_SERVER['HTTP_X_FORWARDED_FOR'] 
+0

好的...但它代理檢測權呢? – 2011-12-21 08:46:23