Ping range di IP di una LAN in PHP con fsockopen

Volendo realizzare al volo un codice per controllare se gli Host di una rete LAN fossero online, in previsione di scriverlo poi per un programma client, ho buttato giù questo piccolo script in PHP. Questo sistema di controllo, col quale ho perso pochissimo tempo per implementarlo, permette di effettuare un Ping senza il classico utilizzo del comando Ping richiamato da exec o senza usare comandi shell tipo:

Che produce output caotico e non immediatamente comprensibile poiché riporta anche tutte le risposte del comando Ping.

L’utilizzo di questo script permette invece di avere un elenco chiaro degli IP raggiungibili e di quelli non raggiungibili:


L’output generato infatti è questo:

E’ chiaro che in base alla risposta positiva o negativa potete aggiungere tutto il codice che ritenete opportuno per evidenziare ulteriormente l’output a video (suoni, colori, ecc.).

PDF    Invia l'articolo in formato PDF   

Cambiare il MAC address

Partendo da una domanda letta su un forum dove un ragazzo chiedeva se era possibile cambiare il MAC address di una scheda di rete ed eventualmente come fare, vorrei illustrare qui i passaggi necessari per compiere questa operazione.

Per prima cosa segnatevi l’indirizzo MAC (Media Access Control) del dispositivo di rete che volete modificare, uno dei tanti metodi è usando il comando “ipconfig /all” oppure “getmac” dal prompt dei comandi.

L’indirizzo MAC di un dispositivo di rete è composto da 6 byte indicato in esadecimale. La combinazione di indirizzo IP e indirizzo MAC rende possibile lo scambio di pacchetti TCP/IP sulle reti LAN. Per una descrizione più approfondita suggerisco di fare una ricerca su Internet.

Per cambiare il MAC su sistemi Windows si può alterare il valore dell’indirizzo direttamente nel file di registro. Per far questo aprire Regedit e cercate questa chiave di registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Class\{4D36E972-E325-11CE-BFC1-08002bE10318}

Sotto di essa troverete una serie di cartelle numerate 0001, 0002, ecc. Cercate quella che che si chiama “NetCfgInstanceId” contenente il nome del trasporto (il lungo valore di cifre e numeri visualizzato dal comando “getmac”). Per controllare se tutto è giusto verificate anche il valore di “DriverDesc” che sia uguale alla descrizione del dispositivo di rete che volete cambiare.

A questo punto cambiate il valore di “NetworkAddress” sostituendolo col nuovo indirizzo MAC desiderato (se la voce “NetworkAddress” non c’è potete crearla, è un REG_Z, cioè una stringa). Uscite da Regedit, spegnete e riaccendete il PC. Lanciando di nuovo “ipconfig /all” troverete il nuovo indirizzo MAC al posto del precedente.

Questa operazione è realizzabile anche su altri sistemi non Windows ma sinceramente con Linux o Mac non l’ho mai eseguita.

PDF Creator    Invia l'articolo in formato PDF