网络安全课程设计分析文档格式.docx

上传人:b****2 文档编号:4138132 上传时间:2023-05-02 格式:DOCX 页数:24 大小:525.22KB
下载 相关 举报
网络安全课程设计分析文档格式.docx_第1页
第1页 / 共24页
网络安全课程设计分析文档格式.docx_第2页
第2页 / 共24页
网络安全课程设计分析文档格式.docx_第3页
第3页 / 共24页
网络安全课程设计分析文档格式.docx_第4页
第4页 / 共24页
网络安全课程设计分析文档格式.docx_第5页
第5页 / 共24页
网络安全课程设计分析文档格式.docx_第6页
第6页 / 共24页
网络安全课程设计分析文档格式.docx_第7页
第7页 / 共24页
网络安全课程设计分析文档格式.docx_第8页
第8页 / 共24页
网络安全课程设计分析文档格式.docx_第9页
第9页 / 共24页
网络安全课程设计分析文档格式.docx_第10页
第10页 / 共24页
网络安全课程设计分析文档格式.docx_第11页
第11页 / 共24页
网络安全课程设计分析文档格式.docx_第12页
第12页 / 共24页
网络安全课程设计分析文档格式.docx_第13页
第13页 / 共24页
网络安全课程设计分析文档格式.docx_第14页
第14页 / 共24页
网络安全课程设计分析文档格式.docx_第15页
第15页 / 共24页
网络安全课程设计分析文档格式.docx_第16页
第16页 / 共24页
网络安全课程设计分析文档格式.docx_第17页
第17页 / 共24页
网络安全课程设计分析文档格式.docx_第18页
第18页 / 共24页
网络安全课程设计分析文档格式.docx_第19页
第19页 / 共24页
网络安全课程设计分析文档格式.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

网络安全课程设计分析文档格式.docx

《网络安全课程设计分析文档格式.docx》由会员分享,可在线阅读,更多相关《网络安全课程设计分析文档格式.docx(24页珍藏版)》请在冰点文库上搜索。

网络安全课程设计分析文档格式.docx

i<

100000;

i++){

while(9*i%26==15){

k=i;

breaklab;

}

}

if(l_encryptKey.getText().lastIndexOf("

加密密钥"

)==-1){

l_encryptKey.setText("

加密密钥k="

+k+l_encryptKey.getText());

frame.repaint();

}

//求解密密码本算法

求解密密码本"

l_plaintxt.setText(tab.mingwen);

l_ciphertxt.setText(tab.miwen);

解密密钥"

l_encryptKey.setText(l_encryptKey.getText()+"

解密密钥1/k="

+tab.decryption_key);

//加密算法

加密"

Stringstr="

"

;

for(intn=0;

n<

txt_lowercase.getText().trim().length();

n++){

charc=txt_lowercase.getText().trim().charAt(n);

intkey=0;

for(inti=0;

i<

tab.cipher_map.size();

i++){

if(tab.cipher_map.get(i)==c){

key=tab.map.get(i);

charc1=tab.cipher_map.get(key);

str=str+c1+"

"

break;

}

l_Aciphertxt.setText(str);

frame.repaint();

//解密算法

密码本解密"

txt_mlowercase.getText().trim().length();

charc=txt_mlowercase.getText().trim().charAt(n);

//获取输入的待解密的密文字符所对应的序号

if(tab.cipher_map.get(i)==c){

for(intj=0;

j<

tab.map.size();

j++){

//获取密文字符序号所对应的明文字符序号

if(tab.map.get(j)==i){

//在序号和字符映射表cipher_map里找出明文字符序号所对应的字符

charc2=tab.cipher_map.get(j);

str=str+c2+"

}

}

}

l_Aplaintxt.setText(str);

}

2)存放明文密文的哈希map

//明文(26个小写字母)

Stringmingwen="

//密文(26个小写字母)

Stringmiwen="

//解密密钥

intdecryption_key=0;

HashMap<

Integer,

Character>

cipher_map;

Integer,

Integer>

map;

publicvoidtabOne(){

//存放明文的哈希map,键为明文的序号,值为小写字母

cipher_map=newHashMap<

Character>

();

//将26个小写字母放入map,并连成字符串赋给mingwen

for(inti=97;

123;

charc=(char)i;

cipher_map.put(i-97,c);

mingwen=mingwen+cipher_map.get(i-97)+"

//存放明文密文对应关系的哈希map

map=newHashMap<

Integer>

for(inti=0;

26;

map.put(i,i*19%26);

miwen=miwen+cipher_map.get(map.get(i))+"

lab:

for(intj=0;

10000;

while(map.get

(2)*j%26==2){

decryption_key=j;

breaklab;

}

2、置换加密法transposition

publicvoidactionPerformed(ActionEvente){

//存放明文:

已经加够长度(8的倍数)

//未改变的明文长度

intlength=txt_lowercase.getText().length();

//加入原始明文不是8的倍数,则加空格凑够

while(length%8!

=0){

txt_lowercase.setText(txt_lowercase.getText()+"

);

//加空格后的明文长度

length=txt_lowercase.getText().length();

//加空格后的明文

str=txt_lowercase.getText();

//存放密文字符串

Stringstrall="

//得到明文长度为8的几倍,将明文截成几段8位的数组进行加密,然后再将每段的密文拼起来

inth=str.length()/8;

//由上面得出的倍数,确定循环次数n<

h;

对每一段明文进行处理

h;

Strings="

//每一段明文都是8位

s=str.substring(n*8,(n+1)*8);

//调用处理的方法,将s作为参数

strall+=encrypte(s);

}

l_Aciphertxt.setText(strall);

System.out.println(strall);

//解密和加密的过程相同,只是调用的方法不同

解密"

intlength=txt_mlowercase.getText().length();

txt_mlowercase.setText(txt_mlowercase.getText()+"

length=txt_mlowercase.getText().length();

str=txt_mlowercase.getText();

strall+=decipher(s);

l_Aplaintxt.setText(strall);

//加密方法

publicStringencrypte(Stringstr1){

Stringstr="

Strings_c="

//明文数组

Stringarray_str[]=newString[8];

for(intn=0;

8;

//得到明文的每一位

charc=str1.charAt(n);

//转换为string类型

s_c=c+"

//放入明文数组中

array_str[n]=s_c;

}//这个for循环之后就把明文完全放入数组中了

/**

*找出第n+1位(map的键是从1开始的)的明文对应的密文序号get(n+1)-1;

这个序号就是在数组中的下标

*-1的原因是:

在数组中,下标是从0开始的

*/

Tabtab=newTab();

tab.funtion();

array_str.length;

str=str+array_str[tab.trans.get(n+1)-1]+"

returnstr;

//解密方法

publicStringdecipher(Stringstr1){

//密文数组,初始值都为空

Stringarray_str[]={"

"

};

Stringcipher="

86427531"

Stringc=str1.charAt(n)+"

//当前遍历到的这个明文在密文数组中的位置

intposition=Integer.parseInt(cipher.charAt(n)+"

)-1;

//将明文放入密文数组中

array_str[position]=c+"

}//这个for循环之后就把明文完全放入密文数组中了

//将密文一个个输出来拼接成字符串str

str+=array_str[i];

2)存放置换关系的哈希表

trans=newHashMap<

publicvoidfuntion(){

//置换表

str.length();

//拿到置换表的每一位

charc=str.trim().charAt(n);

Strings=c+"

//转换为int类型

inti=Integer.parseInt(s);

//放入哈希表(键:

密文下标;

值:

明文下标)

trans.put(n+1,i);

}

四、实验结果截图

(1)替代加密截图

(2)置换加密截图

 

Linux系统iptables防火墙

1、熟悉和掌握TCP/IP协议的基础概念和方法;

2、掌握防火墙的概念、功能分类及实现方法;

3、掌握Linux系统防火墙和iptables防火墙的配置方法。

二、实验原理

1、防火墙的任务

防火墙在实施安全的过程中是至关重要的。

一个防火墙策略要符合四个目标,而每个目标通常都不是一个单独的设备或软件来实现的。

大多数情况下防火墙的组件放在一起使用以满足公司安全目的需求。

防火墙要能满足以下四个目标:

1>

实现一个公司的安全策略

防火墙的主要意图是强制执行你的安全策略,比如你的安全策略需要对MAIL服务器的SMTP流量做限制,那么你要在防火墙上强制这些策略。

2>

创建一个阻塞点

防火墙在一个公司的私有网络和分网间建立一个检查点。

这种实现要求所有的流量都要经过这个检查点。

一旦检查点被建立,防火墙就可以监视,过滤和检查所有进出的流量。

网络安全中称为阻塞点。

通过强制所有进出的流量都通过这些检查点,管理员可以集中在较少的地方来实现安全目的。

3>

记录internet活动

防火墙还能强制记录日志,并且提供警报功能。

通过在防火墙上实现日志服务,管理员可以监视所有从外部网或互联网的访问。

好的日志是适当网络安全的有效工具之一。

4>

限制网络暴露

防火墙在你的网络周围创建了一个保护的边界。

并且对于公网隐藏了内部系统的一些信息以增加保密性。

当远程节点侦测你的网络时,他们仅仅能看到防火墙。

远程设备将不会知道你内部网络的布局以及都有些什么。

防火墙提高认证功能和对网络加密来限制网络信息的暴露。

通过对所能进入的流量进行检查,以限制从外部发动的攻击。

2、iptables及其命令格式

iptables是Linux2.4.X的内核防火墙

,其工作原理为对经过网络模块的数据包的处理,各数据包按流经位置进入相应的规则链,iptables逐条对比链内的

规则,如果满足条件,则进行相应的动作。

配置文件为/etc/sysconfig/iptables。

命令格式:

iptables指令+规则链+条件+动作

●iptables指令(对规则链的操作)

⏹–Achain--append添加到规则链中

⏹–Dchain--delete从规则链中删除匹配的规则

⏹–L[chain]--list列出在一条链或所有链上的规则(--line-numbers)

⏹–F[chain]--flush清除一条链或所有链上的规则

⏹-Pchaintarget--policy把一个规则链上的策略改变为目标

⏹iptables内置有三个表filter、nat、mangle,缺省为filter表,可使用-t参数来选择操作的表,用户可自定义表

●iptables规则链(chain)

●Iptables条件

⏹-sIP地址源地址

⏹-dIP地址目的地址

⏹-i接口名接收的接口

⏹-o接口名发送的接口

⏹-ptcp/udp/icmp/47协议

⏹--dport目的端口

⏹--sport源端口

--syn建立连接请求

⏹-mstateESTABLISHED/RELATED/NEW/INVALID状态包过滤

●iptables动作(policy)(对数据包的操作)

⏹-jACCEPT

⏹-jDROP

⏹-jREJECT(tcp-reset/icmp-port-unreachable)

三、实验步骤

3、准备工作

●同一局域网内的2台PC

a)A的操作系统为Linux,在A安装网络服务及配置iptables;

b)B对A的配置进行验证,主要使用基于icmp协议的ping命令和基于tcp协议的ftp相关命令或软件,假定其ip为10.10.96.123;

c)为避免与机房其他主机发生IP冲突,最好重设A、B地址为静态地址,A、B在同一网段,且不使用192.168.1.x等机房常用网段;

测试A、B可互ping通。

●在A:

1)启动vsftpd

2)增加1个一般用户,如abc

3)添加该新用户为ftp用户

编辑(可使用gedit等)/etc/vsftpd/vsftpd.conf,加入

userlist_enable=YES

userlist_deny=NO

userlist_file=/etc/vsftpd/ulis

编辑gedit/etc/vsftpd/ulis,加入

Abc

4)验证系统已启动iptables(默认为enable)

systemsetting->

serversetting->

serviceconfig->

iptables

●建议学习使用netstat命令,分析网络连接状态

4、配置Linux的系统防火墙

5)A:

start->

systemsetting->

securitylevel->

enableftp(only),允许系统建立ftp连接

6)B:

ftp测试之(使用userpswlslcdget等命令)

7)A:

disableftp,禁止系统建立ftp连接

8)B测试之

5、使用iptables命令配置防火墙,熟悉几类基本过滤原则的配置方法(有关ftp的操作,必须确认系统防火墙允许建立ftp连接,因其优先级高于iptables配置)

0>

备份/etc/sysconfig/iptables

阻塞某IP的连接

A:

阻塞

#iptables-AINPUT-s10.10.96.123-jDROP

B:

ping,测试之

取消阻塞

#iptables-DINPUT-s10.10.96.123-jDROP

(以下只列出实验过程的关键步骤,其他命令与测试请在实验过程中补足)

阻塞某网段的连接

#iptables-AINPUT-s10.10.96.1/24-jDROP

#iptables-DINPUT-s10.10.96.1/24-jDROP

阻塞某协议的连接,如icmp

#iptables-AINPUT-picmp-jDROP

#iptables-DINPUT-picmp-jDROP

4>

阻塞某端口的连接,如ftpcmd使用的21端口

#iptables-AINPUT-ptcp--dport21-jDROP

ftp,测试之

#iptables-DINPUT-ptcp--dport21-jDROP

5>

阻塞连接请求(基于状态的阻塞)

5.1阻塞本机到外部的连接

#iptables-AOUTPUT-ptcp--syn-jDROP

使用port模式(port模式:

服务器发起数据连接),连接A的ftp服务(使用IE,在“工具-internet选项-高级”里,去掉“使用被动FTP”前面的选定,在IE地址输入ftp:

//username:

password@IP_address_of_A)

A:

#iptables-DOUTPUT-ptcp--syn-jDROP

连接A的ftp服务并get文件(注意文件权限设置为对abc可读)

5.2阻塞外部主机到本机的连接

使用pasv模式(pasv模式:

客户端发起数据连接),连接A的ftp服务并get文件(使用IE,在“工具-internet选项-高级”里,选定“使用被动FTP”)

#iptables-AINPUT-ptcp--syn-jDROP(仅阻塞客户端新建的ftp数据连接,对已建立的21端口上的ftp命令连接无影响)

再次get文件

#iptables-DINPUT-ptcp--syn-jDROP

第三次get文件

5.3(选做)阻塞本机到外部的连接-2

连接B的其他服务,如www(以A为客户端,B为服务器)

6>

选择以上若干实验步骤,使用iptables动作REJECT代替DROP,比较它们的区别,思考使用DROP的优点。

答:

REJECT目标和DROP目标这两种行为有所不同。

REJECT会拒绝目标分组的进入,并给企图连接服务的用户返回一个connectionrefused的错误消息。

DROP会放弃分组,而对telnet用户不发出任何警告;

使用REJECT动作的话,对方可以知道请求被拒绝,而如果使用DROP不返回任何信息,则对方不知道发生什么情况。

7>

(选学)从‘iptables参

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2