發佈一個.net探針

未經說明,本blog.csdn.net/wind7788均爲本人原創代碼,凡是引用或者應用請註明出處,表示對作者的尊重.

以下代碼主要使用了NameValueCollection來存儲信息,用HtmlTable來顯示信息.以方便擴展.你也可以用xml來存儲要刺探的項目,這樣更有利於擴充.


<xmp>using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Addr.Admin
{
 ///
 /// Bougie 的摘要說明。
 ///
 public class Bougie : System.Web.UI.Page
 {
  protected HtmlTable ServerInfo,ComInfo,ClientInfo;
  protected System.Web.UI.WebControls.TextBox newCom;
  protected System.Web.UI.WebControls.Button OK1;
  protected System.Web.UI.WebControls.Label resultCom;
  protected System.Web.UI.WebControls.Label resultAdd;
  protected System.Web.UI.WebControls.TextBox newExec;
  protected System.Web.UI.WebControls.ValidationSummary Val2;
  protected System.Web.UI.WebControls.Button OK2;
  protected System.Web.UI.WebControls.RangeValidator Val1;
  protected System.Web.UI.WebControls.RequiredFieldValidator Val3;
  protected System.Web.UI.HtmlControls.HtmlTableCell CopyRight;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此處放置用戶代碼以初始化頁面
   Response.Expires = 0;
   Response.CacheControl = "no-cache";

   NameValueCollection nvcServer=new NameValueCollection();
   NameValueCollection nvcCom=new NameValueCollection();
   NameValueCollection nvcClient=new NameValueCollection();

    DateTime StartTime=DateTime.Now;
    //服務器信息
    nvcServer.Add("服務器名稱",Server.MachineName);
    nvcServer.Add("服務器IP地址",Request.ServerVariables["LOCAL_ADDR"]);
    nvcServer.Add("服務器域名",Request.ServerVariables["SERVER_NAME"]);
    nvcServer.Add(".NET框架版本",Environment.Version.ToString());
    nvcServer.Add("服務器操作系統",Environment.OSVersion.ToString());
    nvcServer.Add("IIS環境",Request.ServerVariables["SERVER_SOFTWARE"]);
    nvcServer.Add("服務器端口",Request.ServerVariables["SERVER_PORT"]);
    nvcServer.Add("腳本超時設置",Server.ScriptTimeout.ToString());
    nvcServer.Add("服務器現在時間",DateTime.Now.ToString());
    nvcServer.Add("虛擬目錄絕對路徑",Request.ServerVariables["APPL_PHYSICAL_PATH"]);
    nvcServer.Add("執行文件絕對路進",Request.ServerVariables["PATH_TRANSLATED"]);
    nvcServer.Add("HTTPS支持",Request.ServerVariables["HTTPS"]);
    nvcServer.Add("SESSION總數",Session.Keys.Count.ToString());
    nvcServer.Add("APPLICATION總數",Application.Keys.Count.ToString());
    //組件支持情況
    if (checkObject("JMail.SmtpMail"))
    {
     nvcCom.Add("JMail郵件","√");
    }
    else
    {
     nvcCom.Add("JMail郵件","×");
    }
 
    if (checkObject("Persits.MailSender"))
    {
     nvcCom.Add("Persits郵件","√");
    }
    else
    {
     nvcCom.Add("Persits郵件","×");
    }

    if (checkObject("Geocel.Mailer"))
    {
     nvcCom.Add("Geocel郵件","√");
    }
    else
    {
     nvcCom.Add("Geocel郵件","×");
    }
 
    if (checkObject("SmtpMail.SmtpMail.1"))
    {
     nvcCom.Add("SmtpMail郵件","√");
    }
    else
    {
     nvcCom.Add("SmtpMail郵件","×");
    }
 
    if (checkObject("Persits.Upload.1"))
    {
     nvcCom.Add("Persits上傳","√");
    }
    else
    {
     nvcCom.Add("Persits上傳","×");
    }

    if (checkObject("aspcn.Upload"))
    {
     nvcCom.Add("Paspcn上傳","√");
    }
    else
    {
     nvcCom.Add("Paspcn上傳","×");
    }

    if (checkObject("LyfUpload.UploadFile"))
    {
     nvcCom.Add("LyfUpload上傳","√");
    }
    else
    {
     nvcCom.Add("LyfUpload上傳","×");
    }
 
    if (checkObject("SoftArtisans.FileManager"))
    {
     nvcCom.Add("SoftArtisans文件管理","√");
    }
    else
    {
       nvcCom.Add("SoftArtisans文件管理","×");
    }

    if (checkObject("w3.upload"))
    {
     nvcCom.Add("w3上傳","√");
    }
    else
    {
     nvcCom.Add("w3上傳","×");
    }
 
    if (checkObject("W3Image.Image"))
    {
     nvcCom.Add("W3Image圖像讀寫","√");
    }
    else
    {
     nvcCom.Add("W3Image圖像讀寫","×");
    }
    if(checkObject("ADODB.Connection"))
    {
     nvcCom.Add("ADO數據連接","√");
    }
    else
    {
     nvcCom.Add("ADO數據連接","×");
    }
    if(checkObject("ADODB.RecordSet"))
    {
     nvcCom.Add("ADO數據集","√");
    }
    else
    {
     nvcCom.Add("ADO數據集","×");
    }
    if (checkObject("Scripting.FileSystemObject"))
    {
     nvcCom.Add("FSO","√");
    }
    else
    {
     nvcCom.Add("FSO","×");
    }
    if (checkObject("CDONTS.NewMail"))
    {
     nvcCom.Add("CDONTS郵件","√");
    }
    else
    {
     nvcCom.Add("CDONTS郵件","×");
    }
    //客戶端信息
    nvcClient.Add("客戶端IP地址",Request.ServerVariables["REMOTE_ADDR"]);
    HttpBrowserCapabilities HBC=Request.Browser;
    nvcClient.Add("客戶端操作系統",HBC.Platform.ToString());
    nvcClient.Add("瀏覽器",HBC.Browser.ToString());
    nvcClient.Add("瀏覽器版本",HBC.Version.ToString());
    nvcClient.Add("VBS",HBC.VBScript.ToString());
    nvcClient.Add("JS",HBC.JavaScript.ToString());
    nvcClient.Add("ActiveX",HBC.ActiveXControls.ToString());
    nvcClient.Add("JavaApplets",HBC.JavaApplets.ToString());
    nvcClient.Add("語言",Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"]);
    nvcClient.Add("框架支持",HBC.Frames.ToString());
    nvcClient.Add("Cookie支持",HBC.Cookies.ToString());
    nvcClient.Add("DOM",HBC.MSDomVersion.ToString());
    //寫出數據
    writeOut(nvcServer,ServerInfo);
    writeOut(nvcCom,ComInfo);
    writeOut(nvcClient,ClientInfo);

    DateTime EndTime=DateTime.Now;
   CopyRight.InnerHtml="本頁執行時間:"+((EndTime-StartTime).TotalSeconds).ToString()+"秒  ";
   CopyRight.InnerHtml+="CopyRighy ©2004 - 2006 4renx.com  .netBougie version 1.0
千山一鳥作品[[email protected]]";
  }
  private void writeOut(NameValueCollection nvc,HtmlTable ht)
  {
   for(int i=0;i   {
    HtmlTableRow tr=new HtmlTableRow();
    for(int j=0;j<2;j++)
    {
     HtmlTableCell td=new HtmlTableCell();
     td.InnerHtml=nvc.GetKey(i).ToString();
     td.Width="20%";
     HtmlTableCell td1=new HtmlTableCell();
     td1.InnerHtml=nvc[i].ToString();
     td1.Width="30%";
     tr.Controls.Add(td);
     tr.Controls.Add(td1);
     i++;
    }
    ht.Controls.Add(tr);
   }
  }
  private bool checkObject(string obj)
  {
   try
   {
    object meobj = Server.CreateObject(obj);
    return(true);
   }
   catch
   {
    return(false);
   }
  }

  #region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN:該調用是 ASP.NET Web 窗體設計器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  ///
  /// 設計器支持所需的方法 - 不要使用代碼編輯器修改
  /// 此方法的內容。
  ///
  private void InitializeComponent()
  {   
   this.OK1.Click += new System.EventHandler(this.OK1_Click);
   this.OK2.Click += new System.EventHandler(this.OK2_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void OK1_Click(object sender, System.EventArgs e)
  {
   if(checkObject(newCom.Text))
   {
    resultCom.Text="√";
   }
   else
   {
    resultCom.Text="×";
   }
  }

  private void OK2_Click(object sender, System.EventArgs e)
  {
   try
   {
    int sum=0;
    int newData=Convert.ToInt32(newExec.Text.Trim());
    DateTime startTime=DateTime.Now;
    for(int i=0;i    {
     sum+=i;
    }
    DateTime endTime=DateTime.Now;
    resultAdd.Text=((endTime-startTime).TotalMilliseconds).ToString()+"毫秒";
   }
   catch
   {
    resultAdd.Text="執行錯誤!可能是參數無效!";
   }
  }

 }
}
</xmp>
<xmp>

<%@ Page language="c#" Codebehind="Bougie.aspx.cs" AutoEventWireup="false" Inherits="Addr.Admin.Bougie" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>Bougie</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  <style type="text/css">
INPUT { FONT-SIZE: 9pt }
.td { FONT-SIZE: 9pt }
.table { BORDER-RIGHT: #6595d6 1px solid; BORDER-TOP: #6595d6 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #6595d6 1px solid; BORDER-BOTTOM: #6595d6 1px solid; BORDER-COLLAPSE: collapse }
A:link { COLOR: #000000; TEXT-DECORATION: none }
A:visited { COLOR: #000000; TEXT-DECORATION: none }
A:hover { COLOR: #000000; TEXT-DECORATION: underline }
A:active { COLOR: #000000; TEXT-DECORATION: none }
BODY { MARGIN-TOP: 0px; SCROLLBAR-FACE-COLOR: #dee3e7; FONT-SIZE: 9pt; SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; MARGIN-LEFT: 0px; SCROLLBAR-SHADOW-COLOR: #dee3e7; SCROLLBAR-3DLIGHT-COLOR: #d1d7dc; SCROLLBAR-ARROW-COLOR: #006699; SCROLLBAR-TRACK-COLOR: #efefef; SCROLLBAR-DARKSHADOW-COLOR: #98aab1 }
.header { FONT-WEIGHT: bold; COLOR: #ffffff }
.table1 { BORDER-RIGHT: #6595d6 1px solid; BORDER-TOP: #6595d6 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #6595d6 1px solid; BORDER-BOTTOM: #6595d6 1px solid; BORDER-COLLAPSE: collapse }
.table2 { BORDER-RIGHT: #6595d6 1px solid; BORDER-TOP: #6595d6 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #6595d6 1px solid; BORDER-BOTTOM: #6595d6 1px solid; BORDER-COLLAPSE: collapse }
.table3 { BORDER-RIGHT: #6595d6 1px solid; BORDER-TOP: #6595d6 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #6595d6 1px solid; BORDER-BOTTOM: #6595d6 1px solid; BORDER-COLLAPSE: collapse }
.table4 { BORDER-RIGHT: #6595d6 1px solid; BORDER-TOP: #6595d6 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #6595d6 1px solid; BORDER-BOTTOM: #6595d6 1px solid; BORDER-COLLAPSE: collapse }
.table5 { BORDER-RIGHT: #6595d6 1px solid; BORDER-TOP: #6595d6 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #6595d6 1px solid; BORDER-BOTTOM: #6595d6 1px solid; BORDER-COLLAPSE: collapse }
.table6 { BORDER-RIGHT: #6595d6 1px solid; BORDER-TOP: #6595d6 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #6595d6 1px solid; BORDER-BOTTOM: #6595d6 1px solid; BORDER-COLLAPSE: collapse }
.table11 { BORDER-RIGHT: #6595d6 1px solid; BORDER-TOP: #6595d6 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #6595d6 1px solid; BORDER-BOTTOM: #6595d6 1px solid; BORDER-COLLAPSE: collapse }
.table12 { BORDER-RIGHT: #6595d6 1px solid; BORDER-TOP: #6595d6 1px solid; FONT-SIZE: 9pt; BORDER-LEFT: #6595d6 1px solid; BORDER-BOTTOM: #6595d6 1px solid; BORDER-COLLAPSE: collapse }
  </style>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Bougie" method="post" runat="server">
   <table width="90%" border="1" align="center" cellpadding="3" cellspacing="0" bordercolor="#6595d6" class="table">
    <tr bgcolor="#6595d6">
     <td colspan="4" class="header">服務器信息</td>
    </tr>
   </table>
   <table width="90%" border="1" align="center" cellpadding="3" cellspacing="0" bordercolor="#6595d6" class="table1" id="ServerInfo" runat="server">
   </table>
   <table width="90%" border="1" align="center" cellpadding="3" cellspacing="0" bordercolor="#6595d6" class="table2">
    <tr bgcolor="#6595d6">
     <td colspan="3" class="header">組件支持信息</td>
    </tr>
   </table>
   <table width="90%" border="1" align="center" cellpadding="3" cellspacing="0" bordercolor="#6595d6" class="table11" id="ComInfo" runat="server">
   </table>
   <table width="90%" border="1" align="center" cellpadding="3" cellspacing="0" bordercolor="#6595d6" class="table4">
    <tr bgcolor="#6595d6">
     <td colspan="4" bgcolor="#6595d6" class="header">客戶端信息</td>
    </tr>
   </table>
   <table width="90%" border="1" align="center" cellpadding="3" cellspacing="0" bordercolor="#6595d6" class="table12" id="ClientInfo" runat="server">
   </table>
   <table width="90%" border="1" align="center" cellpadding="3" cellspacing="0" bordercolor="#6595d6" class="table6">
    <tr bgcolor="#6595d6">
     <td colspan="4" class="header">組件支持查詢及執行效率查詢</td>
    </tr>
    <tr>
     <td width="20%">自定義組件查詢</td>
     <td width="30%">&nbsp;
      <asp:TextBox id="newCom" runat="server" Wrap="False" BorderStyle="Solid" BorderWidth="1px" MaxLength="50"></asp:TextBox></td>
     <td width="20%">&nbsp;
      <asp:Button id="OK1" runat="server" Text="查詢" BorderStyle="Solid" CausesValidation="False"></asp:Button></td>
     <td width="30%">&nbsp;
      <asp:Label id="resultCom" runat="server" Width="204px"></asp:Label></td>
    </tr>
    <tr>
     <td><FONT face="宋體">加法循環測試
       <asp:RangeValidator id="Val1" runat="server" ErrorMessage="錯誤的參數!" Display="None" ControlToValidate="newExec" MaximumValue="1000000000" MinimumValue="1"></asp:RangeValidator>
       <asp:RequiredFieldValidator id="Val3" runat="server" ControlToValidate="newExec" Display="None" ErrorMessage="參數不能爲空!"></asp:RequiredFieldValidator></FONT></td>
     <td>&nbsp;
      <asp:TextBox id="newExec" runat="server" Wrap="False" BorderStyle="Solid" BorderWidth="1px" MaxLength="10">10000000</asp:TextBox></td>
     <td>&nbsp;
      <asp:Button id="OK2" runat="server" Text="測試" BorderStyle="Solid"></asp:Button></td>
     <td>&nbsp;
      <asp:Label id="resultAdd" runat="server" Width="198px"></asp:Label></td>
    </tr>
   </table>
   <table width="90%" border="0" align="center" cellpadding="3" cellspacing="0">
    <tr>
     <td align="middle" class="td" id="CopyRight" runat="server">&nbsp;</td>
    </tr>
   </table>
   <asp:ValidationSummary id="Val2" style="Z-INDEX: 101; LEFT: 49px; POSITION: absolute; TOP: 311px" runat="server" ShowMessageBox="True" ShowSummary="False" HeaderText="出錯信息:"></asp:ValidationSummary>
  </form>
 </body>
</HTML>
</xmp>

發佈了30 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章