Výpis IPv4 i IPv6 adresy v php

LukasBeran

Výpis IPv4 i IPv6 adresy v php
« kdy: 15. 07. 2015, 21:38:43 »
Zdravím.

Hledám řešení, jak vypsat v php (pro vlastní testovací účely) IPv4 i IPv6 adresu klienta. $_SERVER['REMOTE_ADDR'] mi vrátí adresu, ze které se připojil, což v případě existence IPv6 kopnektivity znamená IPv6 adresu, protože IPv6 je upřednostňované před IPv4. Já bych ale chtěl vypsat i IPv4 i IPv6. Jak na to v php? Pokud jedna z konektivit nebude dostupná, tak se u dané IP nic nevypíše, to mě nevadí.

Díky


Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #1 kdy: 15. 07. 2015, 21:49:07 »
Nijak, nejde to. Na server máte navázané TCP/IP spojení z nějaké IP adresy (což ani nemusí být adresa klienta, může to být proxy server nebo NAT). To, že zařízení s danou IP adresou má nastavené také jiné IPv4 nebo IPv6 adresy na straně serveru žádným způsobem nezjistíte.

To, zda je upřednostňován IPv6 protokol, je věc konfigurace klienta. Podle RFC by to tak tuším mělo být, ale má to tak myslím jen 80 % klientů, kteří mají IPv6 konektivitu.

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #2 kdy: 15. 07. 2015, 22:13:23 »
Jak píše správně Filip, klient vždy použije jen jednu konektivitu. Řešením je vytvořit si dvě domény: v4only.example.com a v6only.example.com a nechat z obou klienta načíst nějaký objekt. U nich pak bude jistota, že klient přijde jen po jediné konektivitě, která je na té které doméně dostupná.

Sten

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #3 kdy: 15. 07. 2015, 22:33:18 »
Který typ adres je upřednostňován, určuje RFC 6724. Nativní konektivita je upřednostňována před tunely (6to4, Teredo) a u nativní konektivity IPv6 před IPv4, nicméně ne vždy to aplikace dodržují (u některých prohlížečů se zkusí oboje a použije se ten protokol, který odpoví rychleji, bez ohledu na to, jestli je nativní nebo tunel).

U 6to4 lze z IPv6 adresy vyčíst IPv4 adresu, ale v takovém případě by klient stejně měl upřednostňovat IPv4 adresu. V jakémkoliv jiném případě IPv6 na IPv4 či obráceně převést nelze (alokace jsou nezávislé).

Mioš Eman

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #4 kdy: 16. 07. 2015, 08:09:26 »
Praktická implementace řešení, které navrhuje Petr, je třeba tu - http://ip.webatlas.cz


Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #5 kdy: 16. 07. 2015, 08:31:43 »
Otázka je, k čemu to má být dobré, protože klient může IPv6 adresu snadno měnit...

LukasBeran

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #6 kdy: 16. 07. 2015, 08:37:52 »
Díky za všechny reakce.

Jak jsem psal, je to pouze pro moji vlastní potřebu, takže se nemusím zabývat hromadou další okolností kolem toho, řešit proxy, NAT, tunely, upřednostňované věci, změny adres, podvrhy apod. Mám to jen sám pro sebe jako rychlý a jednoduchý test různých věcí a stačí mi tedy naprosto jednoduché a třeba i pro veřejné použití nepoužitelné řešení.

Podoba na webu http://ip.webatlas.cz je něco takového, co bych chtěl. Ale nevím, jak to technicky řešit :(

LukasBeran

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #7 kdy: 16. 07. 2015, 09:03:44 »
Mám vytvořené dvě subdomény - v4.domena.cz a v6.domena.cz, v6 má jen AAAA záznam, v4 má jen A záznam. To funguje a když si vypíši na těch doménách $_SERVER['REMOTE_ADDR'], dostanu vždy správně adresu - na v4 IPv4 adresu, na v6 IPv6 adresu, vše OK. Ale netuším, jak to dostat do výpisu na domena.cz/ip.php

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #8 kdy: 16. 07. 2015, 11:20:54 »
treba pres AJAX.
Děkuji za možnost editace příspěvku.

LukasBeran

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #9 kdy: 16. 07. 2015, 11:34:59 »
To mi bohužel moc nepomohlo, protože vůbec netuším, jak na to :( S Ajaxem jsem nikdy nedělal.

6

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #10 kdy: 16. 07. 2015, 11:50:44 »
A co tak vlozit do html na domena.cz/index.php iframe s cielovou adresou toho ipv6.domena.cz?

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #11 kdy: 16. 07. 2015, 12:08:29 »
Je rok 2015. Na internetu najdes prakticky vsechno vedeni sveta na nekolik kliknuti. proste si udelas stranku a na ni zaridis aby javascript zavolal obsah z tech dvou ruznych domen.
Děkuji za možnost editace příspěvku.

LukasBeran

Re:Výpis IPv4 i IPv6 adresy v php
« Odpověď #12 kdy: 16. 07. 2015, 13:05:56 »
Ano, je rok 2015 a internet mi evidentně funguje, ale abych mohl najít potřebné informace, musím vědět, co vlastně mám hledat. A já netuším, co mám hledat, protože nejsem webař, s JavaScriptem, PHP ani Ajaxem nedělám, nikdy jsem nedělal a nenapsal jsem v tom ani řádku kódu. Netuším, co ty technologie dělají, jak fungují, co umí, a tedy ani netuším, co mám hledat... Doufal jsem, že když je to tak jednoduché, že sem někdo ten 1-2 řádky kódu dá, protože je napíše z hlavy během 5 vteřin.