Site icon Noir Solutions

Come posso ottenere il MAC e l’indirizzo IP con il linguaggio PHP

Come dice il titolo dell’articolo ci occupiamo questa volta del linguaggio PHP ed in particolare di conoscere tramite le funzioni di questo linguaggio di programmazione l’indirizzo IP e l’indirizzo MAC di un altro computer residente in remoto.

Tipicamente se siete atterrati in questa pagina è perchè volete sapere sia IP, ma anche MAC di un potenziale utente indesiderato al fine di inibirgli per sempre l’accesso al vostro sito WEB. Vediamo come sia possibile effettuare tale operazione.

In primis per fare questa operazione ovviamente occorrono tre conoscenze molto buone che sono rispettivamente

Conoscenza di

Andiamo quindi ad incominciare

IP del server

È possibile ottenere l’indirizzo IP del server da $_SERVER['SERVER_ADDR'].

Indirizzo MAC del server

Per l’indirizzo MAC, è possibile analizzare l’output di netstat -iein Linux o ipconfig /allin Windows.

Indirizzo IP del client

È possibile ottenere l’IP client da $_SERVER['REMOTE_ADDR']

Indirizzo MAC client

L’indirizzo MAC del client non sarà disponibile tranne in una circostanza speciale: se il client si trova sullo stesso segmento Ethernet del server.

Quindi, se stai costruendo un qualche tipo di sistema basato su LAN e i tuoi client sono sullo stesso segmento Ethernet, allora potresti ottenere l’indirizzo MAC analizzando l’output di arp -n(linux) o arp -a(windows).

A questo punto una possibile implementazione potrebbe quindi essere la seguente

$ipAddress=$_SERVER['REMOTE_ADDR'];
$macAddr=false;

# esegui il comando esterno per suddividere l'output in righe
$arp=`arp -a $ipAddress`;
$lines=explode("\n", $arp);

 #guarda la linea per descrivere il tuo IP address
foreach($lines as $line)
{
   $cols=preg_split('/\s+/', trim($line));
   if ($cols[0]==$ipAddress)
   {
       $macAddr=$cols[1];
   }
}
Exit mobile version