当前位置: 首页 > 图文教程 > 网络编程 > ASP > 关于用ASP.Net识别远程主机服务器种类

ASP
如何善用Response.Buffer增进浏览速度?
利用 Meta Tag 来增加文件属性
要如何使用 ASP Error 组件?
Server.Execute和#include相异之处
ASP中文本文件与数据库文件的数据交换
如何用ASP建立图表
如何在ASP中通过ODBC调用Excel中的数据
不刷新页面改变下拉菜单内容
使用ASP重启服务器
用模板建立动态ASP页
如何用ASP将一大段文字中的HTML的标识去掉
让使用者可以看到你的ASP的原代码
用ASP实现在特定的时段或对特定访问者开放
在ASP中判断SQL语句是否执行成功
直接显示Monday等星期的ASP语句
LINE 的计数器源程序(附源代码)
使用asp+中的若干问题及解决方案
ASP实现多语言支持
Session对象在各浏览器中的有效范围
SQL Server如何解决加密问题?

关于用ASP.Net识别远程主机服务器种类


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 189 ::
收藏到网摘: n/a

          这几天做ASP.Net追捕,也算是我入门吧。思路很简单,主要就是识别远程主机传回的Banner,
判断远程主机服务器。这可能不够准确,因为合格的管理员可能会去修改Banner。

代码如下(从我的Web追捕里找出来的,用VB.Net)

            Dim swWriter As StreamWriter
            '用以向网络基础数据流传送数据
            Dim nsStream As NetworkStream
            '创建发送数据的网络基础数据流
            Dim tcpClient2 As TcpClient
            '通过它实现向远程主机提出TCP连接申请
            Dim sHostName As String
            Dim srRead As StreamReader
            '从网络基础数据流中读取数据
            'HTTP服务追捕
            If TcpConnect(ZSIP, 80) = "CG" Then
                OppHTTP.Text = "HTTP服务已开启!服务软件类型:未知"
                Try
                    'tcpClient = New TcpClient(IPAddress, Port)
                    tcpClient2 = New TcpClient(ZSIP.ToString(), 80)
                    tcpClient2.ReceiveTimeout = 1000000
                    tcpClient2.SendTimeout = 1000000
                    '对远程主机的8000端口提出TCP连接申请
                    nsStream = tcpClient2.GetStream()
                    '通过申请,并获取传送数据的网络基础数据流
                    swWriter = New StreamWriter(nsStream)
                    swWriter.WriteLine("Get /index.htm HTTP/1.1")
                    swWriter.WriteLine("Host:" & IP.Text)
                    swWriter.WriteLine("Accept:*/*")
                    swWriter.WriteLine("Referer:")
                    swWriter.WriteLine()
                    '刷新当前数据流中的数据
                    swWriter.Flush()
                    srRead = New StreamReader