Chercher une adresse MAC
\n"; if ($mac == '') echo "

L'adresse MAC ".$_GET["mac"]." n'est pas valide.

\n"; else SearchMAC($mac, $unique); echo "\n"; include "inc/inc.footer.php"; function SearchMAC($mac, $unique) { // Vérifions si la MAC correspond ŕ l'adresse d'une interface $r = pg_query("SELECT ifaddress, idinterface, ifname, i.idmateriel, hostname FROM interface i, materiel m WHERE i.idmateriel = m.idmateriel AND CAST(ifaddress AS VARCHAR(24)) ILIKE '%$mac%' ORDER BY ifaddress"); $a = pg_fetch_array($r); if($a) { ?>

L'adresse correspond aux interfaces suivantes

"; echo "\n"; $bline = !$bline; $a = pg_fetch_array($r); } echo "
Adresse MACMatérielInterface
${a[0]}${a[4]}${a[2]}
\n"; } $r = pg_query("SELECT MAX(datelast) FROM arpcache"); $datelast = pg_fetch_array($r); $datelast = $datelast[0]; if($unique) { $a = SearchMACinDHCP($mac); if($a) { ?>

L'adresse MAC est présente dans le DHCP

"; echo "\n"; $bline = !$bline; $a = pg_fetch_array($r); } echo "
UtilisateurChambreNom de machine
".$a[1]." ".$a[2]."".$a[5]."".$a[3]."
\n"; } // Recherche dans le cache ARP $r = pg_query("SELECT ip, foundon, hostname, a.datefirst, a.datelast FROM arpcache a, materiel m WHERE foundon = idmateriel AND mac = '$mac' ORDER BY datelast DESC, ip"); $a = pg_fetch_array($r); if($a) { ?>

L'adresse a été associée aux IP suivantes

"; $r2 = pg_query("SELECT m.idmateriel, hostname FROM materiel m, ip WHERE m.idmateriel = ip.idmateriel AND ip = '${a[0]}' AND ip.datelast = ${a[4]}"); $a2 = pg_fetch_array($r2); if($a2) echo ""; else echo ""; echo "\n"; $a = pg_fetch_array($r); } echo "
IPAssocié parAssociée le Jusqu'auEquipement correspondant
"; $bline = !$bline; if($a[4] == $datelast) echo "${a[0]}"; else echo $a[0]; echo "${a[2]}".date("D d/m/Y H:i", $a[3])."".date("D d/m/Y H:i", $a[4])."${a2[1]}
\n"; } $a = SearchMAConInterface($mac); if($a) { ?>

L'adresse a été trouvée sur les interfaces suivantes

".$a[1].""; else $host = $a[1]; echo ""; echo "\n"; $bline = !$bline; $a = pg_fetch_array($r); } echo "
Matériel / InterfaceVLANDate enr MàJ
$host / ${a[2]}${a[3]}".date("d/m/Y H:i", $a[4])."".date("d/m/Y H:i", $a[5])."
\n"; } } else { // Recherche dans le cache ARP $r = pg_query("SELECT mac, ip, foundon, hostname, a.datefirst, a.datelast FROM arpcache a, materiel m WHERE foundon = idmateriel AND CAST(mac AS VARCHAR(24)) ILIKE '%$mac%' ORDER BY mac"); $a = pg_fetch_array($r); if($a) { ?>

Des adresses MAC contenant ont été associées aux IPs suivantes

"; echo ""; echo ""; $r2 = pg_query("SELECT m.idmateriel, hostname FROM materiel m, ip WHERE m.idmateriel = ip.idmateriel AND ip = '${a[1]}' AND ip.datelast = ${a[5]}"); $a2 = pg_fetch_array($r2); if($a2) echo ""; else echo ""; echo "\n"; $bline = !$bline; $a = pg_fetch_array($r); } echo "
MACIPAssocié par Associée leJusqu'auEquipement correspondant
${a[0]}${a[1]}${a[3]}".date("D d/m/Y H:i", $a[4])."".date("D d/m/Y H:i", $a[5])."${a2[1]}
\n"; } // Recherche sur les interfaces. $r = pg_query("SELECT mac, m.idmateriel, hostname, ifname, vlan, fdb.datefirst, fdb.datelast FROM materiel m, interface i, fdb WHERE m.idmateriel = i.idmateriel AND i.idinterface = fdb.idinterface AND CAST(mac AS VARCHAR(24)) ILIKE '%$mac%' ORDER BY fdb.datelast DESC, mac, i.idmateriel, ifnumber"); $a = pg_fetch_array($r); if($a) { ?>

L'adresse a été trouvée sur les interfaces suivantes

"; echo "\n"; $bline = !$bline; $a = pg_fetch_array($r); } echo "
Matériel / InterfaceMACVLAN Date enrMàJ
${a[2]} / ${a[3]}${a[0]}${a[4]}".date("d/m/Y H:i", $a[5])."".date("d/m/Y H:i", $a[6])."
\n"; } } } ?>