Když už se nám podařilo zjistit, které ip adresy jsou ve vnitřní síti živé a na jakých portech naslouchají, můžeme také snadno zjistit, zda na těchto portech naslouchá webová aplikace nebo administrační rozhraní aktivního prvku přístupné přes HTTP.
No a když už na spuštěnou webovou aplikaci narazíme, můžeme také podle specifického umístění určitých souborů přesně identifikovat, o jaký síťový prvek nebo webovou aplikaci se jedná.
Nejčastěji se hledá například logo konkrétního zařízení, které je uloženo ve formě obrázku. Postupně tedy procházíme seznamem známých "otisků" a testujeme, zda soubor identifikující dané zařízení, či aplikaci existuje nebo ne.
Uvedený skript obsahuje pouze minimální seznam otisků zařízení. Rozsáhlejší databáze je dostupná například u Javascript LAN scanneru od Garetha Heyese.
<html>
<head>
<script>
var devices = {
1:{"typ":["DLink"],"model":["dgl4100"],"url":["/html/images/dgl4100.jpg"]},
2:{"typ":["DLink"],"model":["dgl4300"],"url":["/html/images/dgl4300.jpg"]},
3:{"typ":["Linksys"],"model":["WRT54GL"],"url":["/WRT56GL.gif"]},
4:{"typ":["Cisco"],"model":["2600"],"url":["/images/logo.png"]}};
function badDevice() {
x++;
window.stop?window.stop():document.execCommand("Stop");
testDevice();
}
function correctDevice() {
var device = "typ: "+devices[x]["typ"]+" / model: "+devices[x]["model"];
alert(device);
}
function testDevice() {
if (x <= 4) {
var url = devices[x]["url"];
img = document.createElement("img");
document.getElementById("obraz").setAttribute("src", "http://" + target + url);
} else {
alert("Zařízení nerozpoznáno");
}
}
</script>
</head>
<body>
<img id="obraz" src="" onerror="badDevice()" onload="correctDevice()" style="display:none;">
<script>
var target = "192.168.1.1"; var x = 1;
testDevice();
</script>
</body>
</html>