TCP端口扫描的ASP实现方法

端口扫描

  用ASP久了,就会感到有个很郁闷的地方:ASP不像其他脚本语言那样能访问Socket。所以或许你用过PHP、Perl等实现的端口扫描器,惟独没见过ASP的。嘿嘿,所以今天本文的目的就是利用“曲线救国”的策略实现ASP端口扫描器。Only for enjoy!

  所谓曲线,呵呵,当然是利用其他的访问网络的组件,那么ASP有哪些组件可以访问网络呢?

  第一个很容易想到,对,就是XMLHTTP。这个组件是以HTTP协议访问网络,当然可以用作端口扫描。但存在一个很难解决的问题:如果某端口打开且不是HTTP端口,那么XMLHTTP将会一直挂起,执着的等待返回HTTP数据。扫描就不能进行下去了。只好排除这个“曲线”了。

  第二个组件也就是我们要利用的,嘿嘿,很常见哦,服务器上都有的,那就是ADODB.Connection。这个组件就是用于进行数据库连接的。当数据库是MSSQL的时候,Web Server就会访问SQL Server的1433端口……对,就是这里了,只要我们改动端口号,再根据返回的错误描述就可以判断该端口的状态。

  下面是一个普通的连接MSSQL的字符串例子:

Provider=SQLOLEDB.1;Data Source=127.0.0.1;User ID=sa;Password=;

  默认情况下端口是1433,下面是自己定义端口为1444的例子:

Provider=SQLOLEDB.1;Data Source=127.0.0.1,1444;User ID=sa;Password=;

  根据端口的状态将得到几种结果:

  端口开放且非SQL端口 ·[ConnectionOpen (PreLoginHandshake()).]一般性网络错误。请检查网络文档。

  端口开放且为SQL端口 ·不返回错误(用户名密码正确)或者用户’sa’登陆失败(用户名密码不正确)

  端口关闭 ·[ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问

  呵呵,现在就好办了,只需要判断一下Error.Description就搞定。为了提高扫描速度,需要把Connection的ConnectionTimeout属性设为1,废话了,呵呵,具体看代码就是。

  经过测试,lake2版ASP端口扫描器速度一般,就相当于一个单线程的扫描器。但是由于其脚本特性,在webshell上或许比其他类型的扫描器有更高的价值哦^_^

  点击这里下载源文件

时间: 2024-09-13 07:02:18

TCP端口扫描的ASP实现方法的相关文章

ASP实现TCP端口扫描的方法

本文详细介绍关于ASP实现TCP端口扫描的方法的文章专题. 用ASP久了,就会感到有个很郁闷的地方:ASP不像其他脚本语言那样能访问Socket.所以或许你用过PHP.Perl等实现的端口扫描器,惟独没见过ASP的.嘿嘿,所以今天本文的目的就是利用"曲线救国"的策略实现ASP端口扫描器.Only for enjoy! 所谓曲线,呵呵,当然是利用其他的访问网络的组件,那么ASP有哪些组件可以访问网络呢? 第一个很容易想到,对,就是XMLHTTP.这个组件是以HTTP协议访问网络,当然可以

利用Java线程池技术实现TCP端口扫描

一个简单的利用线程池技术实现端口扫描(TCP)的小程序: 关键代码如下: // 扫描本机private void getLocal(){ String ip = getIP(); String portStart = txPortStart1.getText().trim(); String portEnd = txPortEnd1.getText().trim(); if (portStart.length() == 0 || portEnd.length() == 0) return; in

Multi Threaded TCP Port Scanner 2.0发布 多线程TCP端口扫描工具

Multi http://www.aliyun.com/zixun/aggregation/29914.html">Threaded TCP Port Scanner是一个用于扫描某个IP地址的多线程TCP端口的工具.你可以设置运行多少个线程和时间,它会告诉你目标的MAC地址和正在运行的服务.你可以扫描网络上的IP地址,并找出你有哪些开放的端口. Multi Threaded TCP Port Scanner 2.0版本增加了Syn扫描的-s选项,使得扫描速度更快.增加更多的默认端口,提高

如何用JAVA实现局域网中主机的UDP端口扫描??

问题描述 TCP端口扫描很容易实现,那对UDP端口的扫描呢?用DatagramSocket么?是否能有实例程序参考一下?谢谢了! 解决方案 解决方案二:这个你真的要看协议了!具体我也不太懂!如果做出来,下面跟着讨论吧

英情报部门曾对27个国家计算机进行端口扫描

英国情报部门对27个国家计算机进行大规模端口扫描北京时间8月17日上午消息,德国Heise网站获得的多份保密文件显示, 2009年,英国情报部门国家通信总局(GCHQ)将TCP端口扫描列为了一种针对目标国家进行情报活动的标准工具.在代号为Hacienda的项目中,共有27个国家成为了GCHQ的目标.这些保密文件并没有描述对大规模端口扫描必要性进行评估的具体流程.此外值得指出的是,对整个国家的计算机进行端口扫描并非异想天开.2013年,一种名为Zmap的端口扫描工具得到部署.只需一台PC,这种端口

Go语言实现的简单网络端口扫描方法_Golang

本文实例讲述了Go语言实现的简单网络端口扫描方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "net"  "fmt"  "os"  "runtime"  "time"  "strconv" ) func loop(startport, endport int, inport chan int) {   for i :=

php实现TCP端口检测的方法

 本文实例讲述了php实现TCP端口检测的方法.分享给大家供大家参考.具体如下: 该程序可以确认当前端口是否可用: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <?php class Health { public static $status; public function __construct() { } public function

python检测远程服务器tcp端口的方法_python

本文实例讲述了python检测远程服务器tcp端口的方法.分享给大家供大家参考.具体如下: python检测远程服务器tcp端口的代码,这段代码可以用来做服务器监控实用 #!/usr/bin/env python #coding:utf-8 #filename:tcp.py ''' author: gavingeng date: 2011-12-14 09:35:59 ''' import socket import sys NORMAL=0 ERROR=1 TIMEOUT=5 def ping

python端口扫描系统实现方法_python

本文实例讲述了python端口扫描系统实现方法.分享给大家供大家参考.具体实现方法如下: 该程序的主要功能如下: 1. 从自有API接口获取所有的外网IP段: 2. 用Nmap 遍历扫描所有的IP段,-oX 生成XML的扫描报告: 3. 用xml.etree.ElementTree模块方法读取XML文件,将ip,开放端口,对应服务等写入Mysql数据库. 功能很简单,没有满足老大高大上的需求,所以这个小项目就这么英勇的挂掉了!~~~完全都还没考虑程序异常终止,扫描服务器异常歇菜的情况. 贴上代码