2015-07-28 134 views
0

在Perl中得到一個客戶端的外部IPv4地址是這樣做了客戶端的IPv6地址:如何找到使用Perl CGI腳本

$ip4_address = $ENV{"REMOTE_ADDR"}; 

你會怎麼做才能從外部IPv6地址客戶端。

(請注意,我需要連接到Web服務器的客戶端的外部IPv6地址 - 我沒有試圖讓一個域名的IPv6地址)

+0

[Perl支持IPv6](https://www.perl.org/about/whitepapers/perl-ipv6.html) – serenesat

+0

[Perl中的域名到IPv6地址]的可能重複(http://stackoverflow.com) /問題/ 24574821 /域名到IPv6地址的功能於perl的) – serenesat

+0

[如何使在Perl IPv6協議的客戶端(http://stackoverflow.com/q/16908163/4248931) – serenesat

回答

4

REMOTE_ADDR CGI變量只是填充來自傳入的HTTP連接的對等地址。如果這是通過IPv6,那麼它將是一個IPv6地址。如果它通過IPv4,那麼它就是IPv4。

如果客戶端通過IPv4連接到你,你可以不知道他們的IPv6堆棧,除非他們告訴你的狀態的任何事情,並沒有這樣做了一個常見的方式。

總結:你可以不知道。