网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.数据库连接字在Web.config里的用.
.关于Asp.net中使用以下代码导出E.
.比较:HyperLink控件、LinkButto.
.ASP.NET Atlas对JavaScript的扩展.
..Net下几种日志管理方法.
.ASP.NET2.0登陆控件的使用(常见.
.ASP.NET中散列加密密码.
..Net开发漫谈:关于命名空间和目.
.精通ASP.NET中弹出窗口技术.
..netFramework1.1下创建文件几种.
.开发基于ASP.NET WebService的图.
.asp.net 2.0里动态访问meta标记.
.asp.net 2.0 权限树的控制.
.最简单的asp.net分页 .
.一个极有可能引发ExecutionEngin.
.在.NET与Java间进行Web Service交.
.在atlas里面的UpdatePanel控件中.
.老外的.net与mysql存储过程编程.
.GridViewRow可以任意位置单击引发.
.如何实现用ODBC连接MySQL和ASP.N.

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

发表日期:2005-7-28


这几天做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(nsStream, Encoding.Default)
                    '以得到的网络基础数据流来初始化StreamReader实例
                    Dim L As Integer = 0
                    Do While Not srRead.Peek = -1 And L < 20
                        StrHttp = StrHttp & srRead.ReadLine()
                        L = L + 1
                    Loop
                    If InStr(StrHttp, "IIS") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:IIS 版本未知"
                        SystemFW = "WindowsNT/2000/XP/2003"
                    End If
                    If InStr(StrHttp, "Apache") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 版本未知"
                    End If
                    If InStr(StrHttp, "Netscape-Enterprise") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Netscape-Enterprise 版本未知"
                    End If
                    If InStr(StrHttp, "Microsoft-IIS/5.0") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:IIS 5.0"
                        SystemFW = "Windows2000"
                    End If
                    If InStr(StrHttp, "Microsoft-IIS/5.1") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:IIS 5.1"
                        SystemFW = "Windows2000/XP"
                    End If
                    If InStr(StrHttp, "Microsoft-IIS/6.0") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:IIS 6.0"
                        SystemFW = "Windows2003"
                    End If
                    If InStr(StrHttp, "Apache/2") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 2.x"
                    End If
                    If InStr(StrHttp, "Apache/2.0.54") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 2.0.54"
                    End If
                    If InStr(StrHttp, "Apache/2.0.52") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 2.0.52"
                    End If
                    If InStr(StrHttp, "Apache/2.1.6") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 2.1.6"
                    End If
                    If InStr(StrHttp, "Apache/1.3.2") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 1.3.x"
                    End If
                    If InStr(StrHttp, "Apache/1.3.20") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 1.3.20"
                    End If
                    If InStr(StrHttp, "Apache/1.3.23") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 1.3.23"
                    End If
                    If InStr(StrHttp, "Apache/1.3.26") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 1.3.26"
                    End If
                    If InStr(StrHttp, "Apache/1.3.27") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 1.3.27"
                    End If
                    If InStr(StrHttp, "Apache/1.3.33") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Apache 1.3.33"
                    End If
                    If InStr(StrHttp, "Netscape-Enterprise/4.1") > 0 Then
                        OppHTTP.Text = "HTTP服务已开启!服务软件类型:Netscape-Enterprise 4.1"
                    End If
                    If InStr(StrHttp, "Unix") > 0 Then
                        SystemFW = "类Unix/Linux系统"
                    End If
                Catch
                End Try

因为是摘出来的,所以有的变量没有定义,大家自己去琢磨吧。
ZSIP:分析出的真实IP

上一篇:如何保证web app中的Send Email线程稳定性 人气:8959
下一篇:ASP.NET中上传下载文件 人气:14773
浏览全部ASP.Net的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐