使用JavaScript扫描端口

<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>

时间: 2024-12-19 23:56:14

使用JavaScript扫描端口的相关文章

JavaScript 扫描枪使用(一)

JavaScript 扫描枪应用(一)com.js为主要的代码实现,test.html文件为测试的页面,其中包括了com.js文件中方法的调用.以下为测试成功代码:com.js //com.js /** * 初始化MSComm1对象,并打开串口 */ function initMSComm(){ document.write("<OBJECT id=MSComm1 CLASSID=\"clsid:648A5600-2C6E-101B-82B6-000000000014\"

扫描端口占用情况的python脚本

之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况.由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结. 一.python脚本实现扫描端口: pthon2下代码如下(当时的环境): #!/usr/bin/env python # -*- coding:utf-8 -*- # used for pthon2.*    import socket, time, thread socket.setdefaulttimeout(3) #设

使用Python扫描端口

前几天看了个讲使用Python扫描端口的教程,看了之后自己也写了个扫描端口的脚本.记录下来,方便自己以后回顾. 运行效果如下: 具体代码如下,请指教. # -*- coding:utf8 -*- #!/usr/bin/python # Python:          2.7.8 # Platform:        Windows # Authro:          wucl # Program:         端口扫描 # History:         2015.6.1 import

[Java]ping或扫描端口的工具类

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.InetSocketAddress; import java.net.Socket; import java.util.ArrayList; import java.util.HashMap; import java.util

python扫描端口脚本

#!/usr/bin/python#coding=utf-8'''一.socket模块的类方法:socket.socket(family,type)——创建并返回一个新的socket对象socket.getfqdn(name)——将使用点好分割的IP地址字符串转换成一个完整的域名socket.gethostbyname(name)——将主机名解析为一个使用点号分隔的IP地址字符串socket.fromfd(fd,family,type)——从现有文件描述符创建一个socket对象二.socket

1、python渗透测试——扫描端口(笔记)

做一个战士不是一件简单的事,这是一件无休止的,会持续到我们生命最后一刻的斗争.没有人生下来就是战士,就像没人生下来就注定庸碌,是我们让自己变成这样或者那样!--夏目漱石 设计思路:调用optparse.OptionParse()方法,构建选项分析器,接受主机名(或者IP地址),扫描的端口列表两个参数.构建两个函数PortScan和ConnScan,PortScan解析主机名成IP地址,然后枚举端口列表中的每个端口用ConnScan函数尝试连接主机,打印扫描端口的信息. 主函数代码: def ma

运维python进行(一) nmap扫描端口

介绍 python-nmap是基于系统nmap命令的一个端口扫描工具,使用简单方便. 最近为了加强服务器安全性和监管,需要每天把公司服务器开放端口扫描记录,一旦出现增加减少能发现. 之前使用shell写过一个https://github.com/bashhu/monitor-shell/blob/master/python-script/scan_port.sh 最近打算完善一下我们的运维平台,重新编写了脚本,方便平台的调用 https://github.com/bashhu/monitor-s

X-Scan扫描端口80,443提示http TRACE 跨站攻击漏洞解决办法

在用X-Scan-v3.3扫描主机端口提示http TRACE 跨站攻击漏洞; 一,修改配置文件httpd.conf 1.1 apache下面修改httpd.conf文件,在文件最后面新建一行加入:TraceEnable off 1.2 service httpd restart #重启apache服务器 二,如果没有修改配置文件权限的时候,我们可以在.htaccess文件中加入如下内容: 2.1 RewriteEngine onRewriteCond %{REQUEST_METHOD} ^(T

关于nmap扫描端口

nmap查看一个服务器的端口,是通过扫描来实现的.所以在本机执行nmap扫描的端口有可能被防火墙阻止,在外部是访问不了的. 如:开启ORACLE监听后,在本机使用nmap 127.0.0.1是可以扫描到1521端口的,实际上,在局域网内部的其他机器上,可能访问不了,需要配置防火墙才可以. 可以在不是redis的时候发现nmap不太可靠,不知道是不是我对nmap理解的不够深入,记录如下: [[email protected] redis]$ ./redis-server redis.conf --