TCP端口扫描的ASP实现

原创 2006年06月19日 20:12:00
Authorlake2  ( http://lake2.0x54.org )
 
ASP久了,就会感到有个很郁闷的地方:ASP不像其他脚本语言那样能访问Socket。所以或许你用过PHPPerl等实现的端口扫描器,惟独没见过ASP的。嘿嘿,所以今天本文的目的就是利用“曲线救国”的策略实现ASP端口扫描器。Only for enjoy
所谓曲线,呵呵,当然是利用其他的访问网络的组件,那么ASP有哪些组件可以访问网络呢?
第一个很容易想到,对,就是XMLHTTP。这个组件是以HTTP协议访问网络,当然可以用作端口扫描。但存在一个很难解决的问题:如果某端口打开且不是HTTP端口,那么XMLHTTP将会一直挂起,执着的等待返回HTTP数据。扫描就不能进行下去了。只好排除这个“曲线”了。
第二个组件也就是我们要利用的,嘿嘿,很常见哦,服务器上都有的,那就是ADODB.Connection。这个组件就是用于进行数据库连接的。当数据库是MSSQL的时候,Web Server就会访问SQL Server1433端口……对,就是这里了,只要我们改动端口号,再根据返回的错误描述就可以判断该端口的状态。
下面是一个普通的连接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就搞定。为了提高扫描速度,需要把ConnectionConnectionTimeout属性设为1,废话了,呵呵,具体看代码就是。
经过测试,lake2ASP端口扫描器速度一般,就相当于一个单线程的扫描器。但是由于其脚本特性,在webshell上或许比其他类型的扫描器有更高的价值哦^_^
下载:http://www.0x54.org/lake2/program/PortScanner.rar
 

使用SOCKET实现TCP/IP协议的通讯

一、原理:      首先要理解基本的原理,2台电脑间实现TCP通讯,首先要建立起连接,在这里要提到服务器端与客户端,两个的区别通俗讲就是主动与被动的关系,两个人对话,肯定是先有人先发起会话,要不然...

linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)4 TCP SYN方式

1.原理 众所周知,当调用connect()时要经历三次握手的过程SYN-SYN&ACK-ACK,而这种SYN扫描方式又叫半开放式扫描,即客户端只发送SYN帧,端口开放回应SYN&ACK帧,端口关闭回...

linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)3 TCP connect方式

1.原理 前面原理篇有讲过,开放的TCP端口会等待客户端connect自己,所以我的客户端程序connect目标端口,根据返回值得不同判断对方是否开放了监听端口(connec()返回-1说明连接失败,...

linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)1 原理篇

常用的端口扫描方式有以下三种: 1.connect扫描 我们知道,常见的TCP的socket实现过程为 更本质的连接和结束的过程是如下这个样子的: 从上面两个图我们可以看出来目标主机的一个端口如果...

linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)5 TCP FIN方式

一、原理 众所周知,当调用close()时要经历四次挥手的过程FIN-ACK-FIN-ACK.当我们发送FIN帧给一个非监听的端口时,会有RST应答,反之,发给一个正在监听的端口时,不会有任何回应。这...

linux下端口扫描的实现(TCP connect、TCP SYN、TCP FIN、UDP四种方式)2整体架构篇

一.概述 该程序在linux下用c语言实现TCP的三种端口扫描方式(connect、SYN、FIN)和UDP端口扫描;我用一个函数数组存放四个实现函数,根据选择的端口扫描方式,在创建线程的时候选择不同...

NS3网络仿真(14): TCP连接与端口扫描

快乐虾http://blog.csdn.net/lights_joy/欢迎转载,但请保留作者信息本节学习一下使用NS3构造一个TCP包,再利用构造好的TCP包进行最简单的TCP端口扫描。1.    T...

TCP connect端口扫描C++简单程序

///////////////////////////////////////////////////////////pragma onceifndef PORTSCAN_Hdefine PORTSC...

TCP端口扫描工具

  • 2017年11月20日 18:01
  • 252KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TCP端口扫描的ASP实现
举报原因:
原因补充:

(最多只允许输入30个字)