论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

基于aglet的入侵检测系统的实现(论文+程序)

4.3  系统平台的其他重要配置

该系统配置在win2k系统下,为了系统能正常的工作,还需要以下配置:

内容来自论文无忧网 www.paper51.com

1.       下载数据库动态驱动解压到本地某一文件夹中,该驱动包括:msbase.jar、mssqlserver.jar、msutil.jar并在环境变量中给出其路径。

内容来自论文无忧网 www.paper51.com

2.       结果最后显示java开发的可视化界面上,对于Aglet的安全设置默认是不允许的,这就需要在其策略文件(F:\Documentsand Settings\Administrator\.aglets\security\aglets.policy)里添加安全规则:permission java.lang.RuntimePermission "exitVM";

copyright paper51.com

3.       本系统要对F:\Snort\rules\myrules.rules文件进行读写操作,所以必须要在Aglet的策略文件中要添加以下语句:

copyright paper51.com

4.       permission java. io. FilePermission " F : \\ Snort \\ rules \\ myrules.rules  " , " read " ; 内容来自www.paper51.com

5.       permission java . io . FilePermission " F : \\ Snort \\ rules \\ myrules. rules " , " write " ;

http://www.paper51.com

4.4  系统实现技术

内容来自论文无忧网 www.paper51.com

4.4.1         入侵检测数据收集

内容来自论文无忧网 www.paper51.com

启动snort工具

内容来自www.paper51.com

cd到F:\snort\bin下输入命令:snort  -d  -h 222.18.122.0/25  -lf:\snort\log  -c  f:\snort\etc\snort.conf  -i  2

copyright paper51.com

其中-i  2指通过本地网卡的接口来检测,其中编号为2,对于不同的主机,编号可能有所不同。

copyright paper51.com

4.4.2         具体实现中采用的关键技术 paper51.com

1.       数据的携带。该系统使用了单项链表实现在访问分布式计算机的时候,将分布式数据库的数据带回到代理主机。

copyright paper51.com

2.       分析结果的显示。在分析完数据,将可疑地址通过java可视化界面显示在屏幕上。 http://www.paper51.com

3.       分析结果的记录。通过java对规则文件的操作,通过自动添加规则对可疑入侵行为来加以限定。

http://www.paper51.com

4.5  代码分析模块 copyright paper51.com

该模块主要包括两个部分:移动遍历代理和数据分析处理。移动遍历代理主要完成数据的提取,数据分析处理主要完成数据的分析记录,自动增加相应的规则禁止入侵地址再次访问。 copyright paper51.com

该模型实现的代码如下: http://www.paper51.com

package design;

http://www.paper51.com

import com.ibm.aglet.*;

内容来自www.paper51.com

import com.ibm.aglet.event.*;

内容来自www.paper51.com

import java.net.*; 内容来自论文无忧网 www.paper51.com

import java.net.URL;

paper51.com

import java.sql.*; 内容来自论文无忧网 www.paper51.com

import java.util.*;

http://www.paper51.com

import java.io.*; paper51.com

import java.awt.*;

paper51.com

import java.awt.event.*; 内容来自论文无忧网 www.paper51.com

import javax.swing.*;

内容来自www.paper51.com

import java.lang.*; copyright paper51.com

public class design extends Aglet{

paper51.com

int _theRemote=0; paper51.com

URL target; 内容来自www.paper51.com

String[] ip; copyright paper51.com

node end,head,temp,search,pre;

内容来自www.paper51.com

class node implements Serializable //数据移动前序列化 内容来自www.paper51.com

{ copyright paper51.com

String IpSo; paper51.com

int Times;

内容来自论文无忧网 www.paper51.com

node next; copyright paper51.com

}

http://www.paper51.com

//实现数据从数据库的读取

内容来自www.paper51.com

private void myJDBC()

copyright paper51.com

{

paper51.com

//把驱动、数据源通过变量传递

copyright paper51.com

StringDriver="sun.jdbc.odbc.JdbcOdbcDriver"; http://www.paper51.com

String source="jdbc:odbc:snort";

copyright paper51.com

try{

http://www.paper51.com

//查找用于JDBC驱动的类,这种查找会使得JAVA虚拟机装入该类,这个类的静态

paper51.com

//初始化语句块会对驱动程序进行初始化,从而下面可直接使用该驱动程序进行

http://www.paper51.com

//数据库连接,无需要做其他额外的事情 paper51.com

Class.forName(Driver); 内容来自论文无忧网 www.paper51.com

}catch(ClassNotFoundException exc){ paper51.com

//当没有驱动程序时,应用程序无法继续运行,故退出程序

http://www.paper51.com

System.out.println("没有发现驱动程序:"+Driver); 内容来自www.paper51.com

exc.printStackTrace();System.exit(1);

paper51.com

}

内容来自论文无忧网 www.paper51.com

try{ paper51.com

//建立与指定数据库的连接

内容来自www.paper51.com

ConnectionConnection=DriverManager.getConnection(source); http://www.paper51.com

SQLWarning warn = Connection.getWarnings(); 内容来自www.paper51.com

while(warn!=null){ 内容来自论文无忧网 www.paper51.com

System.out.println(warn.getMessage()); http://www.paper51.com

warn=warn.getNextWarning();

paper51.com

} 内容来自论文无忧网 www.paper51.com

//创建一个用于执行预编译SQL的语句对象:查询记录的cid 内容来自论文无忧网 www.paper51.com

String sql="select ip=dbo.inet_ntoa(ip_src) fromiphdr,event,signature where iphdr.cid=event.cid and signature=signature.sig_idand sig_name='SCAN Proxy (8080) attempt'";

内容来自www.paper51.com

PreparedStatementpStm=Connection.prepareStatement(sql);

http://www.paper51.com

//发送和执行预编译的SQL语句,获得查询结果集 http://www.paper51.com

ResultSet result=pStm.executeQuery(); 内容来自www.paper51.com

//"i"用于记录读出数据库多少个记录,"j"在输出记录时用于循环

http://www.paper51.com

int i=0,j=0; http://www.paper51.com

//使用迭代模式访问查询结果集,计算有多少条数据 copyright paper51.com

while(result.next()){ 内容来自www.paper51.com

i++;                         内容来自www.paper51.com

} 内容来自论文无忧网 www.paper51.com

//关闭查询结果集合

copyright paper51.com

result.close(); http://www.paper51.com

//关闭SQL语句

内容来自论文无忧网 www.paper51.com

pStm.close();

内容来自论文无忧网 www.paper51.com

System.out.println("i="+i); 内容来自www.paper51.com

i=i-1;

http://www.paper51.com

//建立"i"个单元的数组

内容来自www.paper51.com

ip=new String[i+1];

paper51.com

//再读数据库

内容来自论文无忧网 www.paper51.com

//创建执行简单SQL语句的SQL语句对象

内容来自www.paper51.com

Statement stm=Connection.createStatement();  copyright paper51.com

//查询记录的IP地址,发送和执行简单SQL语句,获得查询结果集

内容来自www.paper51.com

sql="select ip=dbo.inet_ntoa(ip_src) fromiphdr,event,signature where iphdr.cid=event.cid and signature=signature.sig_idand sig_name='SCAN Proxy (8080) attempt'"; paper51.com

result=stm.executeQuery(sql);

paper51.com

//使用迭代模式访问查询结果集,把数据用数组接受下来

内容来自论文无忧网 www.paper51.com

while(result.next()){ copyright paper51.com

ip[j]=result.getString("ip");

内容来自www.paper51.com

j++;                          paper51.com

}

http://www.paper51.com

//输出数组 paper51.com

for(j=0;j<=i;j++){ paper51.com

int k=j+1; copyright paper51.com

System.out.println("第"+k+"个IP地址:"+ip[j]+"\t");

http://www.paper51.com

} paper51.com

//关闭查询结果集合 内容来自论文无忧网 www.paper51.com

result.close(); copyright paper51.com

//关闭SQL语句

http://www.paper51.com

stm.close();

内容来自www.paper51.com

//关闭数据库连接

内容来自www.paper51.com

Connection.close(); http://www.paper51.com

}catch(SQLException exc){ http://www.paper51.com

System.out.println("在执行数据库访问时发生了错误!"); copyright paper51.com

exc.printStackTrace();

paper51.com

}

copyright paper51.com

}

paper51.com

//建立单项链表,添加头和尾,并把第一个ip地址插入进去。

paper51.com

private void addhead()

内容来自www.paper51.com

{ copyright paper51.com

temp=new node(); http://www.paper51.com

head=temp;

内容来自www.paper51.com

temp=new node(); copyright paper51.com

temp.IpSo="end"; 内容来自论文无忧网 www.paper51.com

end=temp;

copyright paper51.com

head.next=end; 内容来自www.paper51.com

temp=new node(); 内容来自论文无忧网 www.paper51.com

temp.IpSo=ip[0];

内容来自www.paper51.com

temp.Times=1;

paper51.com

temp.next=head.next; paper51.com

head.next=temp; http://www.paper51.com

}

http://www.paper51.com

------分隔线----------------------------
联系方式