欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP实现TCP端口扫描的方法】,下面是详细的分享!
ASP实现TCP端口扫描的方法
本文详细介绍关于ASP实现TCP端口扫描的方法的文章专题。
用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上或许比其他类型的扫描器有更高的价值哦^_^
点击这里下载源文件
以上所分享的是关于ASP实现TCP端口扫描的方法,下面是编辑为你推荐的有价值的用户互动:
相关问题:什么是端口扫描?
答:一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。 在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分... >>详细
相关问题:怎么用扫描器 扫人端口
答:s 扫描器是一款命令行下高速扫描利器,通过最新的瑞星杀毒软件测试 命令: s.exe syn ip1 ip2 端口号 /save s.exe tcp ip1 ip2 端口号 线程数 /save s.exe扫描器的使用说明 首先我解释下什么是S扫描器,S扫描器是针对微软ms04045漏洞出的一个扫描... >>详细
相关问题:什么是端口扫描器?它有什么作用?
答:编辑词条端口扫描 一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。 在手工进行扫描时,需要熟悉各种命令。对命令... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
