Strona pokazująca adres IP

Dzień dobry!

W tym poście chciałbym pokazać wam jak działa strona pokazująca nasz adres IP a także pokaże jak zrobić sobie własną taką stronkę.

Co to te adresy?

Adres IP – to liczba 32-bitowa, która identyfikuje serwer (komputer) podłączony do innego serwera lub Internetu. Jest używany w celu komunikowania się poprzez transfer pakietów przy użyciu TCP/IP. W ten sposób można zidentyfikować około 4 miliardów serwerów.

http://www.pokapoka.pl/co_to_jest_ip.php

Tak przedstawia się jedna z definicji. Ogólnie rzecz biorąc jest to adres, który posiada każde urządzenie podłączone do sieci. Sam skrót IP bierze się z akronimów angielskich wyrazów Internet Protocol, co po polsku oznacza protokół internetowy. W przypadku klasycznych sieci LAN (Local Area Network) czyli sieci domowych urządzenie zwane routerem pełni rolę łącznika pomiędzy urządzeniami znajdującymi się w lokalnej sieci domowej a urządzeniami znajdującymi się poza nią. Nasz router więc jako łącznik posiada publiczny adres IP i dzięki temu inni mogą się skomunikować z naszymi komputerami i odwrotnie. No dobrze ale skoro router dostaje adres to co z resztą komputerów? Przecież mówiliśmy, że każdy komputer, który ma dostęp do sieci ma adres. Tak rzeczywiście jest. W sieci domowej działa tak zwany NAT czyli Network Address Translation. Jest to usługa która oferuje tłumaczenie komunikacji urządzeń z sieci lokalnej z urządzeniami z innych sieci i odwrotnie. Dzięki temu każde z urządzeń w sieci lokalnej ma jeden główny adres publiczny. Wprowadzenie tej metody pozwoliło ograniczyć rezerwację adresów sieciowych dzięki czemu jest pewien zapas adresów, który jest przydzielany siecią lokalnym, które dopiero co połączyły się z internetem. No właśnie a skoro już o tym mowa! Adresy publiczne są nam przydzielane w momencie kiedy włączymy router. Zostaje nam wtedy przydzielony któryś z puli dostępnych adresów sieciowych. Jest on jednak tymczasowy, a to oznacza, że jak tylko wyłączymy router lub zostanie on wyłączony np. w wyniku awarii prądu, adres zostaje zwolniony i trafia do innego routera, który loguje się do internetu. I tak to mniej więcej funkcjonuje. Może napiszę jeszcze kiedyś o tym osobny post. Ciekawskich zachęcam do dalszej lektury na temat działania sieci. Wystarczy wpisać szukaną przez nas frazę w wyszukiwarce Google i już mamy więcej informacji na ten temat. Żyjemy w takich wygodnych czasach, że dostęp do informacji mamy dosłownie na wyciągnięcie ręki!

https://www.practicalnetworking.net/stand-alone/cisco-nat-configurations-ios-router/

Adresy w Serwerze WWW

Serwer WWW mający zainstalowany PHP posiada zmienne w pamięci operacyjnej zawierające adres lokalny czyli adres serwera oraz adres urządzenia, które się z nim łączy. Ich zapis wygląda następująco:

<?php
  $_SERVER['REMOTE_ADDR']; //adres ip połączonego urządzenia
  $_SERVER['SERVER_ADDR']; //adres ip serwera
?>

Mam nadzieję, że już w głowie przyświeca wam idea jak to wykorzystać w naszej stronie. Przejdźmy zatem do naszej strony!

Zróbmy stronę!

Standardowo budujemy szkielet strony:

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
</body>
<html>

Następnie możemy umieścić w znaczniku <head> kodowanie polskich znaków i jakiś tytuł:

<head>
  <meta charset="utf-8">
  <title>Mój adres IP</title>
</head>

W znaczniku body umieścimy nagłówek pierwszego stopnia z napisem „Adres IP to:”, pod nim znajdzie się nagłówek drugiego stopnia, który będzie zawierał właśnie nasz adres. Dodatkowo zrobimy, żeby był on podkreślony dlatego aby to osiągnąć zamkniemy go w znaczniku <u>. Możemy też wszystko wyśrodkować np. umieszczając wszystko co w <body> w znaczniku <center>. Powinno to wyglądać mniej więcej tak:

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>Mój adres IP</title>
</head>
<body>
  <center>
    <h1>Adres IP to:</h1>
    <h2><u>adres</u></h2>
  </center>
</body>
<html>

Teraz wystarczy tylko zaprogramować, aby serwer wyświetlał zapisany w pamięci adres ip. Poprosimy go więc o to za pomocą tego kodu:

<?php echo $_SERVER['REMOTE_ADDR'];?>

Aby dopełnić nasze dzieło wystarczy tylko wpisać powyższą linijkę w miejsce, gdzie zapisaliśmy frazę „adres”. Cały kod powinien wyglądać w ten sposób:

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>Mój adres IP</title>
</head>
<body>
  <center>
    <h1>Adres IP to:</h1>
    <h2><u><?php echo $_SERVER['REMOTE_ADDR'];?></u></h2>
  </center>
</body>
<html>

Po odpaleniu strony w serwerze WWW, który obsługuje język PHP otrzymamy pożądany przez nas efekt. Jeżeli nie posiadamy takiego serwera możemy odpalić stronę lokalnie na naszym komputerze wykorzystując program XAMPP (Jego działanie przedstawię w osobnym poście).

Dobra robota!

Spisaliśmy się! Pora nacieszyć się naszą stronką oraz znajomością naszego adresu publicznego. Na pewno kiedyś nam się to przyda! Zachęcam pisać kod po kolei i sprawdzać na bieżąco jakie zmiany wprowadzi dopisywanie kolejnych linijek, ponieważ w ten sposób lepiej się uczymy i możemy dostrzec działanie poszczególnych elementów kodu.

Na zakończenie

To już wszystko w tym poście. Dziękuję za uwagę! Polecam przeczytać inne moje posty, ponieważ uważam, że są równie ciekawe! Do następnego postu!