版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2008年全國大學(xué)生電子設(shè)計競賽信息安全技術(shù)專題邀請賽作品設(shè)計報告作品題目積極網(wǎng)絡(luò)終端保護(hù)系統(tǒng)參賽學(xué)校北京電子科技學(xué)院參賽隊員田珺薛亮韓楷力指導(dǎo)教師劉培鶴目 錄 TOC o 1-1 h z u HYPERLINK l _Toc207954956 1系統(tǒng)方案 PAGEREF _Toc207954956 h - 1 - HYPERLINK l _Toc207954957 2功能與指標(biāo) PAGEREF _Toc207954957 h - 3 - HYPERLINK l _Toc207954958 3實現(xiàn)原理 PAGEREF _Toc207954958 h - 4 - HYPERLINK l _Toc
2、207954959 4系統(tǒng)測試及結(jié)果 PAGEREF _Toc207954959 h - 7 - HYPERLINK l _Toc207954960 5結(jié)果分析 PAGEREF _Toc207954960 h - 7 - HYPERLINK l _Toc207954961 6特色 PAGEREF _Toc207954961 h - 7 - HYPERLINK l _Toc207954962 參考文獻(xiàn) PAGEREF _Toc207954962 h - 7 - HYPERLINK l _Toc207954963 附錄 PAGEREF _Toc207954963 h - 9 -摘要:如今各種防護(hù)技
3、術(shù)層出不窮,但多以對攻擊的被動防御為主,我們采用主動出擊的方案,在攻擊發(fā)生前就消除了其存在條件,從根本上解除了被攻擊的危險。技術(shù)上采用windows自帶的程序,簡單高效。是一種良好的解決方案。關(guān)鍵字:主動防護(hù);腳本;高性能1系統(tǒng)方案行方案方案一:采用C語言等編程語言開發(fā)一套防護(hù)系統(tǒng),利用現(xiàn)代HIPS的概念,暫停執(zhí)行用戶層的應(yīng)用程序接口函數(shù)CreateProcess及以后的步驟,并于桌面彈出一個對話框報告用戶當(dāng)前攔截的進(jìn)程創(chuàng)建信息,其中包括執(zhí)行體、宿主、被攔截的API等,最后等待用戶決定是否繼續(xù)讓其執(zhí)行。方案二:利用現(xiàn)在應(yīng)用最廣泛的防火墻技術(shù),根據(jù)進(jìn)程的行為判斷,確定其是否正在進(jìn)行風(fēng)險操作。防護(hù)
4、系統(tǒng)定義了一系列的風(fēng)險操作,當(dāng)每次有進(jìn)程被Create時,就會檢測其是否為風(fēng)險操作,然后根據(jù)用戶和系統(tǒng)的定義來確定采取的策略。方案三:根據(jù)中國古語“防患于未然”思想,在還沒有受到攻擊的時候主動防御,根據(jù)一般用戶的使用習(xí)慣和各種惡意程序在系統(tǒng)中駐留的特征,關(guān)閉一些無用的端口的服務(wù),并對一些可能帶來危險的操作做一定的限制。由于方案一要求使用者具有一定的電腦知識,特別是對windows的進(jìn)程比較熟悉,而我們的定位是一般PC用戶;方案二雖然看似比較方便,但現(xiàn)階段在對進(jìn)程的行為判斷的研究和應(yīng)用上仍不理想;方案三簡單實用,并且從根本上杜絕了不安全事件的發(fā)生,能有效地提高系統(tǒng)的安全性。因此我們選擇方案三作為
5、實現(xiàn)方案,并且在權(quán)衡了各種利弊之生決定采用功能強(qiáng)、效率高、資源消耗少的腳本語言作為實現(xiàn)手段。2功能與指標(biāo)該軟件主要實現(xiàn)被攻擊前的預(yù)防御,用于新安裝系統(tǒng)的免疫,或系統(tǒng)遭破壞后的應(yīng)急修復(fù)。項目技術(shù)要點(指標(biāo)說明)IPC$攻擊漏洞無法成功利用IPC$漏洞進(jìn)行攻擊遠(yuǎn)程共享無法利用默認(rèn)共享進(jìn)行遠(yuǎn)程攻擊Autorun病毒關(guān)閉系統(tǒng)自動運行功能系統(tǒng)服務(wù)攻擊無法進(jìn)行針對12種利用系統(tǒng)服務(wù)漏洞的攻擊Dos攻擊無法對終端進(jìn)行Dos攻擊木馬服務(wù)一百多種木馬的服務(wù)通信端口關(guān)閉網(wǎng)頁瀏覽IE內(nèi)核瀏覽器適用正常(包括 s)收發(fā)郵件Foxmail測試收發(fā)正常FTPFlashFTP功能正常P2P下載迅雷下載工具使用正常3實現(xiàn)原理
6、經(jīng)過仔細(xì)的研究,我們發(fā)現(xiàn)只需利用一些Windows自身程序?qū)ο到y(tǒng)稍做設(shè)置即可實現(xiàn)安全性的極大改善,由此也可觀得微軟公司在Windows安全性方面所做出的不懈努力。刪除每個分區(qū)下的默認(rèn)共享.利用NET命令,格式如下:NET ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP | HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION | SHARE | START | STATISTICS | STOP | TIME | USE | USER | VIEW n
7、et user 列舉所有用戶 例子:c:net user net localgroup 把用戶分組 例子:c:net localgroup administrators guest /add 把guest用戶加到管理組.需要有足夠的權(quán)限才能進(jìn)行操作! net share 顯示共享資源 例子:c:net share net start 啟動服務(wù),或顯示已啟動服務(wù)的列表 例子:net start 例子:net start telnet 啟動telnet net stop 停止Windows2000網(wǎng)絡(luò)服務(wù) 例子c:net stop telnet 停止telnet服務(wù) (注:由于該命令參數(shù)較多,故只
8、列舉了少量用法。)修改注冊表以更改系統(tǒng)默認(rèn)設(shè)置.對HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters的AutoShareWks和AutoShareServer設(shè)值為dword:00000000;對HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa的restrictanonymous設(shè)值為dword:00000001。;最后用regedit導(dǎo)入生成的注冊表文件關(guān)閉存在威脅的系統(tǒng)服務(wù)利用了SC,MODE和ATTRIB命令SC命令,格式如下:1. SC Se
9、rvername command Servicename Optionname= Optionvalues 2. SC command 這里使用第一種語法使用SC,使用第二種語法顯示幫助。參數(shù)注釋:1、config改變一個服務(wù)的配置。(長久的)2、stop對一個服務(wù)送出一個停止的要求。3.3.2ATTRIB命令A(yù)TTRIB指令的格式和常用參數(shù)為ATTRIB +R | -R +A | -A +S | -S +H | -H drive: path filename /S /D + 設(shè)置屬性。 -清除屬性。 R 只讀文件屬性。 A 存檔文件屬性。 S 系統(tǒng)文件屬性。 H 隱藏文件屬性。 drive:
10、pathfilename 指定要處理的文件屬性。 /S 處理當(dāng)前文件夾及其子文件夾中的匹配文件。 /D 也處理文件夾。關(guān)閉常見惡意程序的端口IPSECCMD命令,(注:XP系統(tǒng)用ipseccmd ,2000下用ipsecpol,WIN2003下直接就是IPSEC命令。遺憾的是, 它們都不是系統(tǒng)自帶的。ipseccmd在xp系統(tǒng)安裝盤的SUPPORTTOOLSSUPPORT.CAB中,ipsecpol在2000 Resource Kit里。而且,要使用ipsecpol還必須帶上另外兩個文件:ipsecutil.dll和text2pol.dll。)比如你要封閉TCP/4899端口的數(shù)據(jù)雙向收發(fā),使
11、用命令: ipseccmd -w REG -p Block default ports -r Block TCP/4899 -f *+0:4899:TCP -n BLOCK -x 這里我們使用的是靜態(tài)模式,常用的參數(shù)如下: -w reg 表明將配置寫入注冊表,重啟后仍有效。 -p 指定策略名稱,如果名稱存在,則將該規(guī)則加入此策略,否則創(chuàng)建一個。 -r 指定規(guī)則名稱。 -n 指定操作,可以是BLOCK、PASS或者INPASS,必須大寫。 -x 激活該策略。 -y 使之無效。 -o 刪除-p指定的策略。 其中最關(guān)鍵的是-f。它用來設(shè)置你的過濾規(guī)則,格式為 A.B.C.D/mask:port=A.
12、B.C.D/mask:port:protocol。其中=前面的是源地址,后面 是目的地址。如果使用+,則表明此規(guī)則是雙向的。IP地址中用*代表任何IP地址, 0代表我自己的IP地址。還可以使用通配符,比如144.92.*.* 等效于 /。使用ipseccmd /?可以獲得它的幫助。 如果希望將規(guī)則刪除,需要先使用-y使之無效,否則刪除后它還會持續(xù)一段時間。 (注:網(wǎng)絡(luò)上有許多關(guān)于3389和4899的入侵方法。4899其實是一個遠(yuǎn)程控制軟件所開啟的服務(wù)端端口,由于這些控制軟件功能強(qiáng)大,所以經(jīng)常被黑客用來控制自己的肉雞,而且這類軟件一般不會被殺毒軟件查殺,比后門還要安全。4899不象3389那樣,
13、是系統(tǒng)自帶的服務(wù)。需要自己安裝,而且需要將服務(wù)端上傳到入侵的電腦并運行服務(wù),才能達(dá)到控制的目的。所以只要你的電腦做了基本的安全配置,黑客是很難通過4899來控制你的。但是,我們依舊關(guān)閉了4899端口。)4系統(tǒng)測試及結(jié)果測試環(huán)境:cpu:intel T2400內(nèi)存:2G硬盤:120G操作系統(tǒng):Windows XP Professional sp2(5.1,版本2600)1、運行時間:32秒252、前述功能均已實現(xiàn)。5結(jié)果分析通過上述測試,我們發(fā)現(xiàn)軟件已經(jīng)基本實現(xiàn)了保護(hù)系統(tǒng)安全的功能,對于一些常見的攻擊手段和木馬有一定的防御能力,對于一般用戶來說已經(jīng)足夠了。6特色我們這款軟件的突出特點是體積小、速
14、度快、占用系統(tǒng)資源少、特別對于某些攻擊手段和木馬,可以實現(xiàn)一勞永逸。另外,僅需一次運行即可終身受益,平時不需運行,不會占用系統(tǒng)資源,不存在被病毒攻擊的威脅。參考文獻(xiàn)123美Mitnick k.d./simon w.t.,入侵的藝術(shù),清華大學(xué)出版社,20074李濤,網(wǎng)絡(luò)安全概論,電子工業(yè)出版社,20065Cisco公司,思科網(wǎng)絡(luò)技術(shù)學(xué)院教程(第三版),人民郵電出版社,20066王森,java深度歷險,華中科技大學(xué)出版社,2002.107國家互聯(lián)網(wǎng)應(yīng)急中心 網(wǎng)站技術(shù)資料附錄FireWallView.java:/* */package firewall;import java.io.IOExcept
15、ion;import java.util.logging.Level;import java.util.logging.Logger;import org.jdesktop.application.Action;import org.jdesktop.application.ResourceMap;import org.jdesktop.application.SingleFrameApplication;import org.jdesktop.application.FrameView;import org.jdesktop.application.TaskMonitor;import ja
16、va.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.InputStreamReader;import javax.swing.Timer;import javax.swing.Icon;import javax.swing.JDialog;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.filechooser.FileNameEx
17、tensionFilter;/* * The applications main frame. */public class FireWallView extends FrameView public FireWallView(SingleFrameApplication app) super(app); initComponents(); / status bar initialization - message timeout, idle icon and busy animation, etc ResourceMap resourceMap = getResourceMap(); int
18、 messageTimeout = resourceMap.getInteger(StatusBar.messageTimeout); messageTimer = new Timer(messageTimeout, new ActionListener() public void actionPerformed(ActionEvent e) statusMessageLabel.setText(); ); messageTimer.setRepeats(false); int busyAnimationRate = resourceMap.getInteger(StatusBar.busyA
19、nimationRate); for (int i = 0; i busyIcons.length; i+) busyIconsi = resourceMap.getIcon(StatusBar.busyIcons + i + ); busyIconTimer = new Timer(busyAnimationRate, new ActionListener() public void actionPerformed(ActionEvent e) busyIconIndex = (busyIconIndex + 1) % busyIcons.length; statusAnimationLab
20、el.setIcon(busyIconsbusyIconIndex); ); idleIcon = resourceMap.getIcon(StatusBar.idleIcon); statusAnimationLabel.setIcon(idleIcon); progressBar.setVisible(false); / connecting action tasks to status bar via TaskMonitor TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext(); taskMonit
21、or.addPropertyChangeListener(new java.beans.PropertyChangeListener() public void propertyChange(java.beans.PropertyChangeEvent evt) String propertyName = evt.getPropertyName(); if (started.equals(propertyName) if (!busyIconTimer.isRunning() statusAnimationLabel.setIcon(busyIcons0); busyIconIndex = 0
22、; busyIconTimer.start(); progressBar.setVisible(true); progressBar.setIndeterminate(true); else if (done.equals(propertyName) busyIconTimer.stop(); statusAnimationLabel.setIcon(idleIcon); progressBar.setVisible(false); progressBar.setValue(0); else if (message.equals(propertyName) String text = (Str
23、ing) (evt.getNewValue(); statusMessageLabel.setText(text = null) ? : text); messageTimer.restart(); else if (progress.equals(propertyName) int value = (Integer) (evt.getNewValue(); progressBar.setVisible(true); progressBar.setIndeterminate(false); progressBar.setValue(value); ); Action public void s
24、howAboutBox() if (aboutBox = null) JFrame mainFrame = FireWallApp.getApplication().getMainFrame(); aboutBox = new FireWallAboutBox(mainFrame); aboutBox.setLocationRelativeTo(mainFrame); FireWallApp.getApplication().show(aboutBox); private void doCommand(String command) try / TODO add your handling c
25、ode here: String ls; Process process = Runtime.getRuntime().exec(command); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream(); while (ls = bufferedReader.readLine() != null) outcome.append(n + ls); process.waitFor(); catch (InterruptedException ex) Logg
26、er.getLogger(FireWallView.class.getName().log(Level.SEVERE, null, ex); catch (IOException ex) Logger.getLogger(FireWallView.class.getName().log(Level.SEVERE, null, ex); /* This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of t
27、his method is * always regenerated by the Form Editor. */ SuppressWarnings(unchecked) / /GEN-BEGIN:initComponents private void initComponents() mainPanel = new javax.swing.JPanel(); conform = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); outcome = new javax.swing.JTextArea
28、(); delshare = new javax.swing.JButton(); stoser = new javax.swing.JButton(); clopor = new javax.swing.JButton(); menuBar = new javax.swing.JMenuBar(); javax.swing.JMenu fileMenu = new javax.swing.JMenu(); setRoot = new javax.swing.JMenuItem(); javax.swing.JMenuItem exitMenuItem = new javax.swing.JM
29、enuItem(); javax.swing.JMenu helpMenu = new javax.swing.JMenu(); javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem(); statusPanel = new javax.swing.JPanel(); javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator(); statusMessageLabel = new javax.swing.JLabel(); statu
30、sAnimationLabel = new javax.swing.JLabel(); progressBar = new javax.swing.JProgressBar(); mainPanel.setMaximumSize(new java.awt.Dimension(420, 360); mainPanel.setName(mainPanel); / NOI18N org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(firewall.Fir
31、eWallApp.class).getContext().getResourceMap(FireWallView.class); conform.setText(resourceMap.getString(conform.text); / NOI18N conform.setName(conform); / NOI18N conform.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) conformActionPer
32、formed(evt); ); jScrollPane1.setName(jScrollPane1); / NOI18N outcome.setColumns(20); outcome.setEditable(false); outcome.setRows(5); outcome.setMaximumSize(new java.awt.Dimension(420, 360); outcome.setMinimumSize(new java.awt.Dimension(420, 360); outcome.setName(outcome); / NOI18N jScrollPane1.setVi
33、ewportView(outcome); delshare.setText(resourceMap.getString(delshare.text); / NOI18N delshare.setName(delshare); / NOI18N delshare.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) delshareActionPerformed(evt); ); stoser.setText(resourc
34、eMap.getString(stoser.text); / NOI18N stoser.setName(stoser); / NOI18N stoser.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) stoserActionPerformed(evt); ); clopor.setText(resourceMap.getString(clopor.text); / NOI18N clopor.setName(cl
35、opor); / NOI18N clopor.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) cloporActionPerformed(evt); ); javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel); mainPanel.setLayout(mainPanelLayout); mainPanelLay
36、out.setHorizontalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup() .addGap(10, 10, 10) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRA
37、ILING, false) .addComponent(conform, javax.swing.GroupLayout.PREFERRED_SIZE, 400, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 400, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(mainPanelLayout.createSequentialGroup() .addComponent(d
38、elshare, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(42, 42, 42) .addComponent(stoser, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(43, 43, 43) .addComponent(clopor, javax.swing.GroupLayout.PREFERRED_SIZ
39、E, 105, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(10, 10, 10) ); mainPanelLayout.setVerticalGroup( mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(mainPanelLayout.createSequentialGroup() .addComponent(conform, javax.swing.GroupLayout.PREFERRED_SIZE, 23,
40、 javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false) .addComponent(clopor) .addComponent(delshare) .addComponent(stoser) .addPreferredGap(javax.sw
41、ing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap() ); menuBar.setName(menuBar); / NOI18N fileMenu.setText(resourceMap.getString(fileMenu.text); / NOI18N fileMenu.setName(fileM
42、enu); / NOI18N setRoot.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK); setRoot.setText(resourceMap.getString(setRoot.text); / NOI18N setRoot.setName(setRoot); / NOI18N setRoot.addActionListener(new java.awt.event.ActionListener()
43、public void actionPerformed(java.awt.event.ActionEvent evt) setRootActionPerformed(evt); ); fileMenu.add(setRoot); javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(firewall.FireWallApp.class).getContext().getActionMap(FireWallView.class, this); exitMenuItem.setActio
44、n(actionMap.get(quit); / NOI18N exitMenuItem.setName(exitMenuItem); / NOI18N fileMenu.add(exitMenuItem); menuBar.add(fileMenu); helpMenu.setText(resourceMap.getString(helpMenu.text); / NOI18N helpMenu.setName(helpMenu); / NOI18N aboutMenuItem.setAction(actionMap.get(showAboutBox); / NOI18N aboutMenu
45、Item.setName(aboutMenuItem); / NOI18N helpMenu.add(aboutMenuItem); menuBar.add(helpMenu); statusPanel.setName(statusPanel); / NOI18N statusPanelSeparator.setName(statusPanelSeparator); / NOI18N statusMessageLabel.setName(statusMessageLabel); / NOI18N statusAnimationLabel.setHorizontalAlignment(javax
46、.swing.SwingConstants.LEFT); statusAnimationLabel.setName(statusAnimationLabel); / NOI18N progressBar.setName(progressBar); / NOI18N javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel); statusPanel.setLayout(statusPanelLayout); statusPanelLayout.setHorizontalGroup( s
47、tatusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 420, Short.MAX_VALUE) .addGroup(statusPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(statusMessageLabel) .addPreferredGap(ja
48、vax.swing.LayoutStyle.ComponentPlacement.RELATED, 250, Short.MAX_VALUE) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(
49、statusAnimationLabel) .addContainerGap() ); statusPanelLayout.setVerticalGroup( statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(statusPanelLayout.createSequentialGroup() .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.sw
50、ing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(statusMessageLabel) .addComponent(stat
51、usAnimationLabel) .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(3, 3, 3) ); setComponent(mainPanel); setMenuBar(menuBar); setStatusBar(statusPanel); / /GEN-END:initComponentsprivate void confor
52、mActionPerformed(java.awt.event.ActionEvent evt) /GEN-FIRST:event_conformActionPerformed doCommand(commandRoot+SDT.bat);/GEN-LAST:event_conformActionPerformedprivate void setRootActionPerformed(java.awt.event.ActionEvent evt) /GEN-FIRST:event_setRootActionPerformed/ TODO add your handling code here:
53、 JFileChooser chooser = new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter( BAT Command Files, bat); chooser.setFileFilter(filter); int returnVal = chooser.showOpenDialog(null); if (returnVal = JFileChooser.APPROVE_OPTION) commandRoot = chooser.getSelectedFile().getPare
54、nt(); System.out.println(commandRoot); /GEN-LAST:event_setRootActionPerformedprivate void delshareActionPerformed(java.awt.event.ActionEvent evt) /GEN-FIRST:event_delshareActionPerformed/ TODO add your handling code here: doCommand(commandRoot+deleteshare.bat);/GEN-LAST:event_delshareActionPerformed
55、private void stoserActionPerformed(java.awt.event.ActionEvent evt) /GEN-FIRST:event_stoserActionPerformed/ TODO add your handling code here: doCommand(commandRoot+shutdownserver.bat);/GEN-LAST:event_stoserActionPerformedprivate void cloporActionPerformed(java.awt.event.ActionEvent evt) /GEN-FIRST:ev
56、ent_cloporActionPerformed/ TODO add your handling code here: doCommand(commandRoot+shutdownid.bat);/GEN-LAST:event_cloporActionPerformed / Variables declaration - do not modify/GEN-BEGIN:variables private javax.swing.JButton clopor; private javax.swing.JButton conform; private javax.swing.JButton de
57、lshare; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JPanel mainPanel; private javax.swing.JMenuBar menuBar; private javax.swing.JTextArea outcome; private javax.swing.JProgressBar progressBar; private javax.swing.JMenuItem setRoot; private javax.swing.JLabel statusAnimationLabe
58、l; private javax.swing.JLabel statusMessageLabel; private javax.swing.JPanel statusPanel; private javax.swing.JButton stoser; / End of variables declaration/GEN-END:variables private final Timer messageTimer; private final Timer busyIconTimer; private final Icon idleIcon; private final Icon busyIcon
59、s = new Icon15; private int busyIconIndex = 0; private JDialog aboutBox; private String commandRoot = C:Program FilesSDT;FireWallApp.java:/* */package firewall;import org.jdesktop.application.Application;import org.jdesktop.application.SingleFrameApplication;/* * The main class of the application. *
60、/public class FireWallApp extends SingleFrameApplication /* * At startup create and show the main frame of the application. */ Override protected void startup() show(new FireWallView(this); /* * This method is to initialize the specified window by injecting resources. * Windows shown in our applicat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024建筑工程材料采購的合同
- 2024成都二手房產(chǎn)買賣交易協(xié)議
- 2024年版私房菜廚師合作經(jīng)營協(xié)議3篇
- 2024中介行業(yè)二手房買賣合同規(guī)范模板3篇
- 2025年度寫字樓租賃合同補(bǔ)充協(xié)議3篇
- 2024年酒店服務(wù)與供貨合同
- 2025年度長沙離婚后子女撫養(yǎng)權(quán)及生活費支付協(xié)議3篇
- 2024建筑鋼管租賃合同模板
- 2024版簡易離婚合同書寫范例版B版
- 2024年酒店多功能廳租賃協(xié)議標(biāo)準(zhǔn)文本一
- 城鎮(zhèn)老舊小區(qū)改造項目計劃書
- 2025年山東省濟(jì)南市萊蕪高新區(qū)農(nóng)畜產(chǎn)品質(zhì)量協(xié)管員招聘10人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年白銀有色集團(tuán)招聘筆試參考題庫含答案解析
- (2024)河南省公務(wù)員考試《行測》真題及答案解析
- 帕金森病指南2024年
- 1000只肉羊養(yǎng)殖基地建設(shè)項目可行性研究報告
- 二零二四年度物業(yè)管理合同標(biāo)的的管理內(nèi)容和質(zhì)量要求
- 2024版房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)內(nèi)容解讀
- 企業(yè)年終總結(jié)表彰大會模板 76
- 人工智能ArtificialIntelligence第五章課件
- 2024年國網(wǎng)公司企業(yè)文化與職業(yè)道德試考試題庫(含答案)
評論
0/150
提交評論