标签:
<html>
<title>端口扫描</title>
<head></head>
<form>
<label for="target">target</label><br/>
<input type="text" name="target" value="127.0.0.1"/><br/>
<label for="port">port</label><br/>
<input type="text" name="port" value="80"/><br/>
<p>you can use sequence as well 80,81,8080</p>
<label for="timeout">timeout</label><br/>
<input type="text" name="timeout" value="1000"/><br/>
<label for="result">result</label><br/>
<textarea id="result" name="result" rows="7" cols="50"></textarea><br/>
<input class="button" type="button" value="scan" onClick="javascript:scan(this.form)"/>
</form>
<script>
var AttackAPI = {
version: 0.1,
author: "Petko Petkov (architect)",
homepage: "http://www.gnucitizen.org"
};
AttackAPI.PortScanner = {};
AttackAPI.PortScanner.scanPort = function (callback, target, port, timeout) {
var timeout = (timeout == null)?100:timeout;
var img = new Image();
img.onerror = function () {
if (!img) return;
img = undefined;
callback(target, port, "open");
};
img.onload = img.onerror;
img.src = "http://" + target + ":" + port;
setTimeout(function () {
if (!img) return;
img = undefined;
callback(target, port, "closed");
}, timeout);
};
AttackAPI.PortScanner.scanTarget = function (callback, target, ports, timeout)
{
for (index = 0; index < ports.length; index++)
AttackAPI.PortScanner.scanPort(callback, target, ports[index], timeout);
};
</script>
<script>
var result = document.getElementById("result");
var callback = function (target, port, status) {
result.value += target + ":" + port + status + " \n";
};
var scan = function (form) {
AttackAPI.PortScanner.scanTarget(callback, form.target.value, form.port.value.split(","), form.timeout.value);
};
</script>
</html>
标签:
原文地址:http://www.cnblogs.com/shengulong/p/4796374.html