版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p><b> 報(bào)</b></p><p><b> 告</b></p><p> 學(xué)年學(xué)期 2010-2011學(xué)年第二學(xué)期</p><p> 課程名稱 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)</p>&l
2、t;p> 院 系 計(jì)算機(jī)系</p><p> 專 業(yè) 網(wǎng)絡(luò)工程</p><p> 學(xué) 號 </p><p> 姓 名 </p><p><b> 指導(dǎo)教師 </b></p><p> 二O一一 年
3、六 月 三十 日</p><p><b> 摘 要</b></p><p> 本機(jī)網(wǎng)絡(luò)信息管理器提供了有關(guān)計(jì)算機(jī)性能的信息,并顯示了計(jì)算機(jī)上主要設(shè)備信息;如果連接到網(wǎng)絡(luò),那么還可以查看網(wǎng)絡(luò)狀態(tài)并迅速了解網(wǎng)絡(luò)是如何工作的。它的用戶界面提供了設(shè)置網(wǎng)絡(luò)信息的選項(xiàng),其下還有具體的內(nèi)容設(shè)置,而且這里可以查看到當(dāng)前系統(tǒng)的CPU使用比率、內(nèi)存等數(shù)據(jù),默認(rèn)設(shè)置下系統(tǒng)每隔兩秒
4、鐘對數(shù)據(jù)進(jìn)行1次自動(dòng)更新。</p><p> 現(xiàn)在是網(wǎng)絡(luò)的社會(huì),在應(yīng)用網(wǎng)絡(luò)的同時(shí)也要對計(jì)算機(jī)的信息進(jìn)行保護(hù),因而需要進(jìn)行本地計(jì)算機(jī)網(wǎng)絡(luò)信息管理,使得我們更好的進(jìn)行計(jì)算機(jī)的運(yùn)用。以及對信息的管理和保護(hù)。因而有了這樣的一個(gè)課程設(shè)計(jì)。</p><p><b> 一緒論</b></p><p> 本文所介紹的網(wǎng)絡(luò)信息管理系統(tǒng)是基于開放的C#應(yīng)用程
5、序開發(fā)設(shè)計(jì)的,其主要特性是能動(dòng)態(tài)、實(shí)時(shí)的完成信息的傳遞,且具有高效的交互性,更有效的反映本機(jī)的網(wǎng)絡(luò)設(shè)置狀況,易于維護(hù)和更新,其運(yùn)行所需環(huán)境及其工作流程和各個(gè)功能控件的工作原理將在本文依次介紹,并且文中提供了部分程序源代碼。1 IP/TCP協(xié)議常識</p><p> (1)IP、TCP協(xié)議的特點(diǎn):</p><p> TCP/IP(Transmission Control Protoco
6、l/Internet Protocol)是傳輸控制協(xié)議/網(wǎng)際協(xié)議的縮寫, TCP/IP是當(dāng)今網(wǎng)絡(luò)互聯(lián)的核心協(xié)議。TCP/IP協(xié)議的體系結(jié)構(gòu)共有四個(gè)層次,即應(yīng)用層、傳輸層、網(wǎng)絡(luò)互聯(lián)層和網(wǎng)絡(luò)接口層。</p><p> IP協(xié)議的作用:第一,它是網(wǎng)絡(luò)層的協(xié)議,提供互聯(lián)網(wǎng)上數(shù)據(jù)傳輸?shù)慕y(tǒng)一格式。第二,提供不可靠的無連接的服務(wù)。第三,定義了互聯(lián)網(wǎng)上的傳輸數(shù)據(jù)的基本單元,提供了供路由選擇的信息,沒有差錯(cuò)校驗(yàn)和處理的機(jī)制。&l
7、t;/p><p> TCP協(xié)議的功能:差錯(cuò)控制——可靠性、面向連接、分段(Segment)、端口號。TCP是傳輸控制協(xié)議,是面向連接的提供了一種可靠的傳輸服務(wù),它用三次握手和滑動(dòng)窗口機(jī)制來保證傳輸?shù)目煽啃?,及進(jìn)行流量控制。</p><p> TCP/IP協(xié)議具有以下特點(diǎn):</p><p> 協(xié)議標(biāo)準(zhǔn)具有開放性,其獨(dú)立于特定的計(jì)算機(jī)硬件及操作系統(tǒng),可以免費(fèi)使用。統(tǒng)一
8、分配網(wǎng)絡(luò)地址,使得每個(gè)TCP/IP 設(shè)備在網(wǎng)絡(luò)中都具有唯一的IP地址。實(shí)現(xiàn)了高層協(xié)議的標(biāo)準(zhǔn)化,能為用戶提供多種可靠的服務(wù)。</p><p> (2)TCP/IP協(xié)議進(jìn)行傳輸數(shù)據(jù)傳輸?shù)倪^程:</p><p> 應(yīng)用程序?yàn)榱藗鬏敂?shù)據(jù)會(huì)調(diào)用TCP,將數(shù)據(jù)和對應(yīng)的參數(shù)傳給TCP,將TCP 數(shù)據(jù)包封裝在IP包內(nèi),通過網(wǎng)絡(luò)送給目的TCP。接收方TCP在接收到數(shù)據(jù)后通知上層應(yīng)用程序,TCP將保證接
9、收數(shù)據(jù)的正確性。在實(shí)現(xiàn)TCP的主機(jī)上,TCP可以被看成是一個(gè)模塊,和文件系統(tǒng)區(qū)別不大,TCP 也可以調(diào)用一些操作系統(tǒng)的功能,TCP不直接和網(wǎng)絡(luò)打交道,控制網(wǎng)絡(luò)的任務(wù)由專門的設(shè)備驅(qū)動(dòng)模塊完成。TCP只是調(diào)用IP接口,向TCP提供所有TCP需要的服務(wù)。</p><p><b> (3)端口號:</b></p><p> 有的時(shí)候,一個(gè)ip地址不能完整的標(biāo)識一臺(tái)服務(wù)器,
10、這是應(yīng)為一臺(tái)物理性的計(jì)算機(jī)同時(shí)運(yùn)行著多個(gè)應(yīng)用程序,這就需要我們來區(qū)別同一臺(tái)機(jī)子上的不同的服務(wù),所以就在傳輸層和應(yīng)用層上設(shè)置接口,就是 端口。端口實(shí)際是一個(gè)16位長的 地址,他的范圍是0~65535之間,其中0~1023是熟知端口,主要是給提供服務(wù)的應(yīng)用程序使用,這些端口是所有應(yīng)用進(jìn)程都只道的,1024~65535為一般端口,也稱動(dòng)態(tài)端口、連接端口,用來隨時(shí)分配要求通信的個(gè)客戶端應(yīng)用程序。在數(shù)據(jù)傳輸過程中,各種服務(wù)器不斷的檢測分配給他的端
11、口,一邊發(fā)現(xiàn)要求和他通信的客戶端。</p><p> 2Windows Management Instrumentation,Windows 管理規(guī)范</p><p> WMI(Windows Management Instrumentation,Windows 管理規(guī)范)是一項(xiàng)核心的 Windows 管理技術(shù);用戶可以使用 WMI 管理本地和遠(yuǎn)程計(jì)算機(jī)。</p><
12、;p> Windows 2K/XP和Windows 98 都支持WMI;如果為NT 4.0和Windows 95加上了 Service Pack 4或更高版本,N </p><p> WMIT 4.0和Win95也支持WMI。因此,用WMI進(jìn)行遠(yuǎn)程管理時(shí),并非一定要用Windows 2K/XP(當(dāng)然,如果WMI腳本在一臺(tái)沒有性能監(jiān)視器的Win9x機(jī)器上運(yùn)行,就不能在遠(yuǎn)程Win9x系統(tǒng)上查詢Windows
13、 2K/XP的性能監(jiān)視器。 </p><p> 如前所述,WMI允許通過一個(gè)公共的接口訪問多種操作系統(tǒng)構(gòu)成單元,因此不必分別對待各種底層接口或所謂的“提供者”。利用WMI可以高效地管理遠(yuǎn)程和本地的計(jì)算機(jī);與此相對,并非所有的Windows 2K/XP命令行工具都支持遠(yuǎn)程運(yùn)行。 </p><p> WMI是WBEM模型的一種實(shí)現(xiàn)。WBEM即Web-Based Enterprise Man
14、agement,或基于Web的企業(yè)管理,WBEM由DMTF(Distributed Management Task Force,分布式管理任務(wù)組)在許多廠商的幫助下創(chuàng)立,包括Compaq、Sun、Microsoft等。WBEM的目標(biāo)是,為管理企業(yè)環(huán)境開發(fā)一個(gè)標(biāo)準(zhǔn)的接口集。WBEM模型最關(guān)鍵的部分是它的數(shù)據(jù)模型(或描述和定義對象的方式)、編碼規(guī)范(Encoding Specification),以及在客戶端和服務(wù)器端之間傳輸數(shù)據(jù)的模式。
15、</p><p> WBEM的數(shù)據(jù)模型是CIM(Common Information Model,公共信息模型)。CIM是一個(gè)用來命名計(jì)算機(jī)的物理和邏輯單元的標(biāo)準(zhǔn)的命名系統(tǒng)(或稱為命名模式),例如硬盤的邏輯分區(qū)、正在運(yùn)行的應(yīng)用的一個(gè)實(shí)例,或者一條電纜。 </p><p> CIM是一個(gè)面向?qū)ο蟮哪P?,使用一組面向?qū)ο蟮男g(shù)語進(jìn)行描述。CIM包含類(Class),類是被管理單元的模板。類的
16、實(shí)例稱為對象(Object),對象代表著底層系統(tǒng)的一個(gè)具體單元。名稱空間(Namespace)是一個(gè)類的集合,每個(gè)名稱空間面向一個(gè)特定的管理領(lǐng)域。類包含屬性(Property)和方法(Method)。 </p><p> CIM分三層。第一層是核心模型(Core Model),這一層包含的類定義對于所有管理領(lǐng)域來說都是共同的。第二層是公共模型(Common Model),這一層包含的類定義對于特定的管理領(lǐng)域來說
17、是公共的,但與具體的操作系統(tǒng)和系統(tǒng)設(shè)計(jì)無關(guān)。第三層是擴(kuò)展模型(Extension model),這一層包含的類定義與特定的操作系統(tǒng)或技術(shù)有關(guān)。 </p><p> WMI是Microsoft擴(kuò)展CIM 2.0得到的面向Win32系統(tǒng)的擴(kuò)展模型。引用WMI類和屬性的形式是“擴(kuò)展前綴_類名稱.屬性名稱”,例如Win32_ComputerSystem. Name,其中Win32是CIM模式cimv2名稱空間內(nèi)WMI擴(kuò)
18、展類的前綴,ComputerSystem是類,Name是屬性。 </p><p> 編寫WMI腳本的很大一部分工作涉及到讀取和設(shè)置屬性值。當(dāng)前,WMI提供的方法還很有限,但隨著時(shí)間的推移,相信WMI和CIM提供的方法都會(huì)越來越豐富。</p><p><b> 二 規(guī)劃設(shè)計(jì)</b></p><p> 本信息管理系統(tǒng)分為三個(gè)部分:</p
19、><p> ?。保紫仁?,是對本機(jī)的基本信息的獲取,包括CPU、內(nèi)存等,以及網(wǎng)絡(luò)信息的獲取,包括域名、工作組等,最后還用CPU、內(nèi)存等使用情況的監(jiān)視。 ?。玻浯危菍Ρ緳C(jī)的所有可用網(wǎng)絡(luò)適配器的設(shè)置,包括IP地址、子網(wǎng)掩碼、DNS服務(wù)器地址等等。</p><p> 3.然后,是對本機(jī)的共享內(nèi)容的管理,包括共享文件夾的添加和取消,網(wǎng)絡(luò)服務(wù)的查看等。</p><p>
20、 4.最后,是對所有本機(jī)網(wǎng)絡(luò)連接的監(jiān)控和統(tǒng)計(jì)。</p><p> 三系統(tǒng)分析與設(shè)計(jì)方案</p><p> 1信息管理系統(tǒng)的總體設(shè)計(jì)要點(diǎn) 1.本系統(tǒng)以實(shí)用為主,實(shí)現(xiàn)的都是用戶最常用的功能,簡化了系統(tǒng)自帶的軟件的使用。</p><p> 2.本系統(tǒng)界面設(shè)計(jì)直觀,易用性強(qiáng)</p><p><b> 2系統(tǒng)各功能模塊</
21、b></p><p> ?。?)本機(jī)基本信息獲取使用了PerformanceCounter和WMI等方式獲取系統(tǒng)信息,以及通過讀取注冊表讀取本機(jī)操作系統(tǒng)信息,通過線程的方式監(jiān)控系統(tǒng)性能。</p><p><b> 源碼:</b></p><p> PerformanceCounter pc = new PerformanceCount
22、er("Memory", "Available MBytes");</p><p> PerformanceCounter cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total");</p><p>
23、Thread m_thread;</p><p> [DllImport("IpHlpApi.dll")]</p><p> extern static public uint GetIfTable(byte[] pIfTable, ref uint pdwSize, bool bOrder);</p><p> public Form1(
24、)</p><p><b> {</b></p><p> new Form2().Show();</p><p> InitializeComponent();</p><p> RegistryKey rk;</p><p> DirectoryEntry root = new Di
25、rectoryEntry("WinNT:");</p><p> string strDomain = null, cpuid = null, meo = null;</p><p> foreach (DirectoryEntry Domain in root.Children)</p><p><b> {</b>
26、</p><p><b> //枚舉工作組或域</b></p><p> strDomain = strDomain + " " + Domain.Name;</p><p><b> }</b></p><p> ManagementClass mClass = new
27、 ManagementClass("Win32_Processor");</p><p> ManagementObjectCollection moCollection = mClass.GetInstances();</p><p> foreach (ManagementObject mObject in moCollection)</p>&l
28、t;p><b> {</b></p><p> cpuid += mObject["Name"].ToString() + " ";</p><p><b> }</b></p><p> mClass = new ManagementClass("Win32
29、_PhysicalMemory");</p><p> moCollection = mClass.GetInstances();</p><p> foreach (ManagementObject mObject in moCollection)</p><p><b> {</b></p><p>
30、 meo += mObject["Capacity"].ToString();</p><p><b> }</b></p><p> rk = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows NT\\CurrentVersion");</
31、p><p> label6.Text = System.Environment.MachineName;</p><p> label8.Text = System.Net.Dns.GetHostEntry("LocalHost").HostName;</p><p> label9.Text = rk.GetValue("Produ
32、ctName").ToString() + " " + rk.GetValue("CurrentVersion").ToString() + "." + rk.GetValue("CurrentBuildNumber").ToString();</p><p> label10.Text = strDomain;</
33、p><p> label11.Text = cpuid;</p><p> label12.Text = meo + " 字節(jié)";</p><p> progressBar1.Maximum = (int)(float.Parse(meo) / 1048576.0);</p><p> m_thread = new T
34、hread(new ThreadStart(workr));</p><p> m_thread.IsBackground = true;</p><p> m_thread.Start();</p><p> ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfigur
35、ation");</p><p> ManagementObjectCollection moc = mc.GetInstances();</p><p> foreach (ManagementObject mo in moc)</p><p><b> {</b></p><p> if ((boo
36、l)mo["IPEnabled"] == true)</p><p> comboBox1.Items.Add(mo["Description"].ToString());</p><p><b> }</b></p><p> comboBox1.Enabled = true;</p>
37、<p> mc = new ManagementClass("Win32_Service");</p><p> moc = mc.GetInstances();</p><p> foreach (ManagementObject mo in moc)</p><p><b> {</b></p
38、><p> if (mo["StartName"].ToString() == "NT AUTHORITY\\NetworkService")</p><p> comboBox2.Items.Add(mo["Caption"].ToString());</p><p><b> }</b
39、></p><p> comboBox2.Enabled = true;</p><p> mc.Dispose();</p><p> moc.Dispose();</p><p> maskedTextBox1.AllowPromptAsInput = false;</p><p> private
40、 delegate void dfun();</p><p> private void workr() { while (true) { Thread.Sleep(500); work(); } }</p><p> private void work()</p><p><b> {</b></p><p>
41、 if (this.progressBar1.InvokeRequired && this.progressBar2.InvokeRequired)</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p&
42、gt;<p> dfun df = new dfun(work);</p><p> this.Invoke(df);</p><p><b> }</b></p><p> catch { };</p><p><b> }</b></p><p>
43、<b> else</b></p><p><b> {</b></p><p> this.progressBar1.Value = (int)this.pc.NextValue();</p><p> this.label13.Text = this.progressBar1.Value.ToString()
44、+ "MB / " + this.progressBar1.Maximum.ToString() + "MB";</p><p> this.progressBar2.Value = (int)cpu.NextValue();</p><p> this.label16.Text = DateTime.Now.ToString();</p&
45、gt;<p><b> }</b></p><p><b> }</b></p><p> (2)網(wǎng)絡(luò)設(shè)置部分主要通過WMI獲取和設(shè)置本機(jī)網(wǎng)絡(luò)適配器的信息和設(shè)置,可以自動(dòng)獲取當(dāng)前可用的適配器,同時(shí),能對不符合規(guī)范的的設(shè)置進(jìn)行提示。具體的源碼如下:</p><p> private void combo
46、Box1_SelectionChangeCommitted(object sender, EventArgs e)</p><p><b> {</b></p><p> ManagementObjectSearcher query = new</p><p> ManagementObjectSearcher("SELECT
47、* FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'");</p><p> ManagementObjectCollection queryCollection = query.Get();</p><p> foreach (ManagementObject mo in quer
48、yCollection)</p><p><b> {</b></p><p> if (mo["Description"].ToString() == comboBox1.Text)</p><p><b> {</b></p><p> string[] ipad =
49、 (string[])mo["IPAddress"];</p><p> label23.Text = ipad[0];</p><p> string[] subnets = (string[])mo["IPSubnet"];</p><p> label24.Text = subnets[0];</p>
50、<p> string[] defaultgateways = (string[])mo["DefaultIPGateway"];</p><p> if (defaultgateways != null)</p><p> label27.Text = defaultgateways[0];</p><p> else la
51、bel27.Text = "";</p><p> label26.Text = mo["MACAddress"].ToString();</p><p> string[] dns = (string[])mo["DNSServerSearchOrder"];</p><p> if (dns !=
52、 null)</p><p> label28.Text = dns[0];</p><p> else if (dns == null)</p><p> label29.Text = "";</p><p> else if (dns.Length == 2)</p><p> lab
53、el29.Text = dns[1];</p><p> else { label29.Text = ""; }</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
54、<p><b> /*</b></p><p> private void button3_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> string[] mac = maskedTextBox5.Text.Split('
55、;:');</p><p> string pstr = "^[0-9a-fA-F]+$";</p><p> string ma="" ;</p><p> for (int n = 0; n < 5; n++)</p><p> if (!Regex.IsMatch(mac[n
56、],pstr))</p><p><b> {</b></p><p> MessageBox.Show("MAC地址為16進(jìn)制,即00~FF", "錯(cuò)誤");</p><p><b> goto L1;</b></p><p><b> }
57、</b></p><p> else ma += mac[n]+":";</p><p> ma = ma.Substring(0, ma.Length - 1);</p><p> ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfig
58、uration");</p><p> ManagementObjectCollection moc = mc.GetInstances();</p><p> foreach (ManagementObject mo in moc)</p><p><b> {</b></p><p> if ((b
59、ool)mo["IPEnabled"])</p><p><b> {</b></p><p> if (mo["Description"].ToString() == comboBox1.Text)</p><p><b> {</b></p><p>
60、; ManagementBaseObject newMAC = mo.GetMethodParameters("SetMACAddress");</p><p> newMAC["MACAddress"] = new string[] { ma };</p><p> ManagementBaseObject setMAC = mo.Invok
61、eMethod("SetMACAddress", newMAC, null);</p><p> label26.Text = mo["MACAddress"].ToString();</p><p> mc.Dispose();</p><p><b> }</b></p><
62、p><b> }</b></p><p><b> }</b></p><p><b> L1: ;</b></p><p><b> }</b></p><p><b> */</b></p><
63、p> private void button2_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> string pstr = "0 .0 .0 .0";</p><p> string GateStr = "",
64、 DnsStr = "", DnsbStr = "";</p><p> bool gat, dn, dnb;</p><p> gat = false;</p><p> dn = false;</p><p> dnb = false;</p><p> strin
65、g[] gate = maskedTextBox6.Text.Split('.');</p><p> string[] dns = maskedTextBox7.Text.Split('.');</p><p> string[] dnsb = maskedTextBox2.Text.Split('.');</p><
66、;p> if (!maskedTextBox6.Text.Equals(pstr))</p><p><b> {</b></p><p> for (int n = 0; n < 4; n++)</p><p> if (int.Parse(gate[n]) > 255 || int.Parse(gate[n]) &
67、lt; 0)</p><p><b> {</b></p><p> MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯(cuò)誤");</p><p><b> goto L4;</b></p><p><b> }<
68、/b></p><p><b> else</b></p><p><b> {</b></p><p> GateStr += (gate[n].Trim() + ".");</p><p><b> }</b></p><
69、;p> GateStr = GateStr.Substring(0, GateStr.Length - 1);</p><p> gat = true;</p><p><b> }</b></p><p> if (!maskedTextBox7.Text.Equals(pstr))</p><p>&l
70、t;b> {</b></p><p> for (int n = 0; n < 4; n++)</p><p> if (int.Parse(dns[n]) > 255 || int.Parse(gate[n]) < 0)</p><p><b> {</b></p><p>
71、 MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯(cuò)誤");</p><p><b> goto L4;</b></p><p><b> }</b></p><p> for (int i = 0; i <= 3; i++)</p>
72、<p><b> {</b></p><p> DnsStr += (dns[i].Trim() + ".");</p><p><b> }</b></p><p> DnsStr = DnsStr.Substring(0, DnsStr.Length - 1);</p&g
73、t;<p> dn = true;</p><p><b> }</b></p><p> if (!maskedTextBox2.Text.Equals(pstr))</p><p><b> {</b></p><p> for (int n = 0; n < 4;
74、 n++)</p><p> if (int.Parse(dnsb[n]) > 255 || int.Parse(gate[n]) < 0)</p><p><b> {</b></p><p> MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯(cuò)誤");<
75、/p><p><b> goto L4;</b></p><p><b> }</b></p><p> for (int i = 0; i <= 3; i++)</p><p><b> {</b></p><p> DnsbStr +=
76、(dnsb[i].Trim() + ".");</p><p><b> }</b></p><p> DnsbStr = DnsbStr.Substring(0, DnsbStr.Length - 1);</p><p> dnb = true;</p><p><b> }<
77、;/b></p><p> ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p> ManagementObjectCollection moc = mc.GetInstances();</p><p> forea
78、ch (ManagementObject mo in moc)</p><p><b> {</b></p><p> if ((bool)mo["IPEnabled"])</p><p><b> {</b></p><p> if (mo["Descript
79、ion"].ToString() == comboBox1.Text)</p><p><b> {</b></p><p> if (gat == true)</p><p><b> {</b></p><p> ManagementBaseObject newGate = m
80、o.GetMethodParameters("SetGateways");</p><p> newGate["DefaultIPGateway"] = new string[] { GateStr };</p><p> ManagementBaseObject setGate = mo.InvokeMethod("SetGatewa
81、ys", newGate, null);</p><p> label27.Text = mo["DefaultIPGateway"].ToString();</p><p><b> }</b></p><p> if (dn == true)</p><p><b>
82、{</b></p><p> string[] temp = (string[])mo["DNSServerSearchOrder"];</p><p> ManagementBaseObject newDns = mo.GetMethodParameters("SetDNSServerSearchOrder");</p>
83、<p> newDns["DNSServerSearchOrder"] = new string[] { DnsStr, temp[1] };</p><p> ManagementBaseObject setDns = mo.InvokeMethod("SetDNSServerSearchOrder", newDns, null);</p>
84、<p> temp = (string[])mo["DNSServerSearchOrder"];</p><p> label28.Text = temp[0];</p><p><b> }</b></p><p> if (dnb == true)</p><p><b
85、> {</b></p><p> string[] temp = (string[])mo["DNSServerSearchOrder"];</p><p> ManagementBaseObject newDnsb = mo.GetMethodParameters("SetDNSServerSearchOrder");<
86、;/p><p> newDnsb["DNSServerSearchOrder"] = new string[] { temp[1], DnsbStr };</p><p> ManagementBaseObject setDnsb = mo.InvokeMethod("SetDNSServerSearchOrder", newDnsb, null);
87、</p><p> temp = (string[])mo["DNSServerSearchOrder"];</p><p> label29.Text = temp[1];</p><p><b> }</b></p><p> mo.Dispose();</p><p&
88、gt;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> string[] str = maskedTextBox1.Text.Split('.');</p><p> string[]
89、str1 = maskedTextBox4.Text.Split('.');</p><p> ManagementClass mc1 = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p> ManagementObjectCollection moc1 = mc.Ge
90、tInstances();</p><p> if (255 < int.Parse(str[0]) || 255 < int.Parse(str[1]) || 255 < int.Parse(str[2]) || 255 < int.Parse(str[3]) || int.Parse(str[0]) < 1 || int.Parse(str[1]) < 0 || int.
91、Parse(str[2]) < 0 || int.Parse(str[3]) < 1 ||</p><p> 255 < int.Parse(str1[0]) || 255 < int.Parse(str1[1]) || 255 < int.Parse(str1[2]) || 255 < int.Parse(str1[3]) || int.Parse(str1[0]) <
92、; 1 || int.Parse(str1[1]) < 0 || int.Parse(str1[2]) < 0 || int.Parse(str1[3]) < 0) MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯(cuò)誤");</p><p><b> else</b></p><p>
93、 foreach (ManagementObject mo in moc1)</p><p><b> {</b></p><p> if ((bool)mo["IPEnabled"])</p><p><b> {</b></p><p> if (mo["
94、Description"].ToString() == comboBox1.Text)</p><p><b> {</b></p><p> string IPStr = "", subStr = "";</p><p> for (int i = 0; i <= 3; i++)&
95、lt;/p><p><b> {</b></p><p> IPStr += (str[i].Trim() + ".");</p><p><b> }</b></p><p> for (int i = 0; i <= 3; i++)</p><p
96、><b> {</b></p><p> subStr += (str1[i].Trim() + ".");</p><p><b> }</b></p><p> IPStr = IPStr.Substring(0, IPStr.Length - 1);</p><p
97、> subStr = subStr.Substring(0, subStr.Length - 1);</p><p> ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic");</p><p> newIP["IPAddress"] = new string[
98、] { IPStr };</p><p> newIP["SubnetMask"] = new string[] { subStr };</p><p> ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);</p><p>
99、 label23.Text = IPStr;</p><p> label24.Text = subStr;</p><p> mc.Dispose();</p><p><b> }</b></p><p><b> }</b></p><p><b>
100、 }</b></p><p><b> L4: ;</b></p><p><b> }</b></p><p> private void button4_Click(object sender, EventArgs e)</p><p><b> {</b&g
101、t;</p><p> ManagementClass wmi = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p> ManagementObjectCollection moc = wmi.GetInstances();</p><p> foreach
102、(ManagementObject mo in moc)</p><p><b> {</b></p><p> //如果沒有啟用IP設(shè)置的網(wǎng)絡(luò)設(shè)備則跳過 </p><p> if (mo["Description"].ToString() != comboBox1.Text)</p><p&g
103、t;<b> continue;</b></p><p> //重置DNS為空 </p><p> mo.InvokeMethod("SetDNSServerSearchOrder", null);</p><p> //開啟DHCP </p><p> mo.InvokeMetho
104、d("EnableDHCP", null);</p><p><b> }</b></p><p><b> }</b></p><p><b> 四系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b> 1開發(fā)環(huán)境工具</b><
105、;/p><p> 基本系統(tǒng)的設(shè)計(jì)主要運(yùn)用C#與語言與WMI類結(jié)合而開發(fā)。其開發(fā)的主要環(huán)境包括:</p><p> 操作系統(tǒng):Windows 7</p><p> 集成開發(fā)環(huán)境:Microsoft Visual Studio 2010和.NET Framework 4.0</p><p> 使用環(huán)境: Windows 2K/XP以上和.NE
106、T Framework環(huán)境</p><p><b> 2硬件環(huán)境 </b></p><p> 本系統(tǒng)運(yùn)行環(huán)境所需用到的環(huán)境為:硬件配置 :</p><p> CPU:intel core duo t6400 2.0G的處理器;</p><p> 硬 盤:160GB以上硬盤;</p><p
107、> 內(nèi) 存:2G DDR內(nèi)存;</p><p> 顯 卡:NVIDIA Geforce 9600M GS 512M顯存顯卡</p><p> 軟件環(huán)境:WINDOWS XP、Visual Studio 2010、.NET Framework4.0等。</p><p> 3網(wǎng)站功能模塊的測試</p><p> 圖1 本機(jī)信
108、息獲取 </p><p><b> 圖2 網(wǎng)絡(luò)設(shè)置</b></p><p><b> 圖3 共享設(shè)置</b></p><p><b> 圖4 網(wǎng)絡(luò)監(jiān)控</b></p><p><b> 五總 結(jié)</b></p><p>
109、; 通過本次的計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì),我學(xué)到了很多的知識,做了一個(gè)本地計(jì)算機(jī)網(wǎng)絡(luò)信息管理,運(yùn)用計(jì)算機(jī),信息是非常重要的,要對其進(jìn)行管理,要不然信息錯(cuò)亂或者流失會(huì)有很大的問題。因而通過本次的課程設(shè)計(jì),我受益匪淺。</p><p> 本課程設(shè)計(jì)實(shí)現(xiàn)了簡單的本機(jī)網(wǎng)絡(luò)系統(tǒng)的管理功能,經(jīng)過細(xì)心的調(diào)試和排錯(cuò)解決了絕大部分的問題。但幾乎每一個(gè)計(jì)算機(jī)程序都會(huì)有這樣那樣的不足,尤其是未經(jīng)過精心維護(hù)的非商業(yè)軟件。本管理系統(tǒng)程序?qū)τ诔?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)---網(wǎng)絡(luò)設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)
- 《計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)》
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)-- 小型網(wǎng)絡(luò)設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)--網(wǎng)絡(luò)互聯(lián)設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)網(wǎng)絡(luò)組建課程設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)報(bào)告
- 《計(jì)算機(jī)網(wǎng)絡(luò)》課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)報(bào)告
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)--網(wǎng)站設(shè)計(jì)
評論
0/150
提交評論