免费预览已结束,剩余32页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络安全实验报告姓名:杨瑞春 班级:自动化 86精品资料学号: 08045009实验一:网络命令操作与网络协议分析一实验目的:1. 熟悉网络基本命令的操作与功能。2. 熟练使用网络协议分析软件ethereal 分析应用协议。二实验步骤:pingnetcattracertarpnetstatrouteipconfignslookuptelnetssh1. 网络命令:2. 协议分析软件: ethereal 的主要功能: 设置流量过滤条件, 分析网络数据包, 流重组功能,协议分析。三实验任务:1. 跟踪某一网站如google 的路由路径2. 查看本机的 mac 地址, ip 地址输 入 ipconfig /all找见本地连接 .description . . . . : sis 900-based pci fast ethernet adapte physical address. . : 00-13-8f-07-3a-57dhcp enabled. . . . : noip address. . . . . : subnet mask . . . . : default gateway . . : dns servers . . . . : 7default gateway . . : 这项是网关 .也就是路由器 ipphysical address. . : 00-13-8f-07-3a-57这项就是 mac 地址了.3. telnet 到 linux 服务器,执行指定的命令4. ssh 连接到 linux 服务器,执行指定的命令5. nc 应用: telnet ,绑定程序( cmd,shell等),扫描,连接等。7 分析 honeynet challenge dataset的真实攻击网络流量利用 ethereal 捕获的网络流量如下图所示:6. 选择任意一种应用层协议如www ,ftp ,qq 等,利用 ethereal对该协议进行分析。实验报告要求有ethereal捕获的网络流量和数据包协议解析的屏幕截图。分析:从捕获的网络流量可以发现,有许多的syn 信号,但是 tck 信号很少, 因此可以认为三次握手没有建立,连接失败。实验二:黑客攻击技术实验一实验要求:1. 掌握典型攻击技术原理2. 熟悉典型攻击软件的功能及操作3. 分析黑客攻击软件执行输出结果二实验内容:1. namp2. nessus3. craft network packet: hping4. crack password: john the ripper5. web attack: nikto6. google hacking tools三实验任务1 利用 winnmap扫描功能,给出扫描报告及分析2 nessus应用,给出漏洞扫描报告设置扫描策略添加新扫描扫描结果3.执行 nikto 对 web 服务器进行漏洞扫描。4.john 应用及配置在 run 目录下运行 john-386 -wordlist=password.lst newxjtu.txt,对 newxjtu.txt中内容解密,会生成一个.pot 的文件,对同一密文只能解密一次,若删除件,可以再次解密。.pot 文扫描报告:破解后生成的明文为 $lm$9eceeb689e046fcd:newxjtu$lm$aad3b435b51404ee:5.google hacking tools应用打开 google hacking ,在网站输入框中输入 ,点击查询网站详情,可以在随后弹出的网页上查看交大网站的详细信息,包括站点创建时间,ip 地址, ip 所在地, web 服务器等信息。实验三:网络安全技术实验一实验要求:1. 掌握防火墙, vpn ,入侵检测系统等安全技术的基本原理和实现过程2. 熟悉 ipsec 、ssl 、kerberos 、pgp 中的安全认证协议关键技术3. 熟练使用 ipsec 、ssl、kerberos 、pgp 等安全工具二实验内容:1. 防火墙2. vpn3. ipsec4. ssl5. kerberos6. pgp7. snort三实验任务:1.防火墙:利用个人防火墙软件,定义防火墙规则,允许或是禁止某类网络流量的访问。2 .ipsec:windows 自带的 ipsec 服务配置及使用。搭建一个vpn ,实现隧道模式,传输模式等功能。(2) 、双击打开属性,勾选“虚拟专用网”下的复选框。(1) 、启用 xp 的远程访问组件, 该组件默认不启用。 打开服务services.msc ,找到 routing and remote access服务,设置启动类型为自动,并启动服务。打开“用户页”, 选择允许远程拨入的用户,或者新建用户。打开网络页,确保计算机上已经安装了ipx/spx协议。服务器上设置完成。(3) 、打开客户机,打开网上邻居,单击创建一个新的连接。点击“下一步” 单击“连接到我的工作场所的网络”单击“虚拟专用网络连接”输入公司名,单击下一步输入 vpn 服务器的ip 地址,单击完成客户机创建连接完毕。(5) 、打开刚刚创建好的连接,输入允许介入的用户名和密码,单击“连接”网络连接后,客户机成功接入xp vpn服务器3. ssl :openssl配置及使用4. kerberos :windows实现的 kerberos认证服务器配置及使用5. pgp: gnupgp6. snort: 定义变量,配置规则,定义新的规则,学习攻击检测规则及报警分析在使用 snort 之前请先安装wireshark ,因为会用到其中的winpcap :1. 将 snort 安装在 c 盘根目录下。2. 安装完成后先把rules.rar 解压,将里面的文件全部直接放在下3. 将 snort.conf拷贝到 bin 目录下snort 扫描到的端口4. 在 cmd 中执行 snort 的命令查看 snort.conf实验四:网络安全软件开发:网络扫描器一实验目的:1. 熟悉网络扫描器实现的关键技术2. 熟练运用c# ,java 开发网络应用程序3. 熟悉网络协议字段含义及结构二实验内容:1. 网络扫描器实现基本的地址扫描,端口扫描,tcp/udp扫描,实现多线程扫描。2. 图形化界面的网络扫描器软件3. 提交源代码、可执行程序及代码注释文件及执行结果截图。三实验分析: 多线程: 电脑上有232个端口。如果只启动一个线程的话322个端口需要的时间可以用小时计算。解决这个问题需要用到多线程原理。多线程实现可通过继承thread类或者实现runnable接口来达到。主机端口扫描:与目标主机创建tcp 连接,如果成功则说明端口监听中,同事对正在监听的端口做识别操作!默认按照常用端口服务给出提示!例如21 ,则提示ftp 服务。 udp 扫描是向目标主机端口发送固定字符,读取目标主机回复内容!tcp 扫描原理: 利用 .socket类建立 socket 连接,如果无法与指定的ip 和端口建立连接,将会抛出ioexception。我们用try-catch对这个ioexception异常进行捕获,以判断是否成功与指定的 ip 端口建立连接。 如果成功建立了连接, 说明指定 ip 的指定端口已经开放;如果程序抛出了一个 ioexception 异常被我们捕获,则说明指定的 ip 没有开放指定的端口。 扫描指定端口段则是利用循环不断与服务器的指定端口进行连接, 供我们判断是否开放。udp 扫描原理: 这种方法使用的是udp 协议。 由于这个协议很简单,所以扫描变得相对比 较困难。 这是由于打开的端口对扫描探测并不发送一个确认,关闭的端口也并不需要发送一 个错误数据包。幸运的是,许多主机在你向一个未打开的udp 端口发送一个数据包时,会返回一个icmp_port_unreach错误。这样你就能发现哪个端口是关闭的。udp和icmp错误都不保证能到达,因此这种扫描器必须还实现在一个包看上去是丢失的时候能重新传输。这种扫描方法是很慢的,因为rfc 对 icmp错误消息的产生速率做了规定。同 样,这种扫描方法需要具有root权限。利用.datagramsocket类给指导ip 发送datagrampacket数据包, 如果捕获到.portunreachableexception异常, 说明对方主机返回了icmp_port_unreach的错误,说明端口关闭,否则如果在指定等待时间内没有得到回复,则捕获到.sockettimeoutexception连接超时异常,说明端口是开放的。判断 ip 地址和端口合法性: 在得到端口和建立 socket 之前一定要判断 ip 地址和端口的合法性,因为端口的范围是在 1 65535 ,如果我们去建立范围外端口的连接就是没必要的,而且是不可行的。 ip 地址表示成 xx.xx.xx.xx 格式, xx 范围在 0255 之间,在这之外是不合法的。图形化界面( gui )设计: 主要用到了java.awt提供的和图形界面相关的类。为了使界面更美观使用了swing 组件。socket中的 close 方法: 不需要一个socket 的时候应关闭它,因为socket是一种有限的系统资源。关闭socket将释放有关的资源,并允许绑定在此socket上的端口被重新使用。socket被关闭之后就不能再向它收发数据udp 缺陷说明: 开放的 udp 端口并不需要送回ack 包,而关闭的端口也不要求送回错误包(而本实验基于的原理就是那些主机在关闭的udp 端口会回送icmp port unreachable错误,因此有很大的几率误判,由于时间原因和自身知识的局限不能想到更好的方法),所以利用 udp 包进行扫描非常困难。udp 包和 icmp 包都是不可靠的,速度慢 (差错报文产生的速度有限制) ,并且需要root 权限才能读取icmp 消息,因此使用的局限性好大。四实验结果:1.初始界面:2 . 对站点 进行 tcp 扫描:3 . 对站点 进行 udp 扫描:实验源代码:/* 基于多线程端口扫描程序源代码*/ import java.awt.color;/ 类的调用import java.awt.container;import java.awt.label; import java.awt.textarea;import java.awt.event.actionevent;import java.awt.event.actionlistener; import java.awt.event.windowadapter; import java.awt.event.windowevent; import java.io.ioexception;import .inetaddress;import .inetsocketaddress; import .socket;import .socketaddress; import .datagrampacket; import .datagramsocket;import .unknownhostexception; import javax.swing.jbutton;import javax.swing.jdialog; import javax.swing.jframe; import javax.swing.jtextfield;public class scanner implements actionlistener/ 创建主窗口public static jframe mainframe = new jframe(); public static label labelip = new label(主机 ip);public static label labelportstart = new label(起始端口: );public static label labelportend = new label(结束端口: ); public static label labelthread = new label(线 程 数 : ); public static label labelresult = new label(扫 描 结 果 :); public static label state = new label(扫描状态: );public static label scanning = new label(未开始扫描 );publicstatic jtextfield hostname = new jtextfield(0); public static jtextfield portstart = new jtextfield(0);public static jtextfield portend = new jtextfield(100); public static jtextfield threadnum = new jtextfield(10);/ 文本区域,显示扫描结果public static textarea result = new textarea();public static label dlginfo = new label();public static jbutton start = new jbutton(tcp扫描); public static jbutton start2 = new jbutton(udp扫描 ); public static jbutton exit = new jbutton(退出 );/错误提示对话框public static jdialog dlgerror = new jdialog(mainframe, 错误 ); public static jbutton ok = new jbutton(确定);public scanner()/gui界面/ 设置主窗体名称mainframe.settitle(多线程端口扫描器);/ 设置主窗体位置和大小mainframe.setbounds(180, 200, 550, 300); mainframe.addwindowlistener(new windowadapter()public void windowclosing(windowevent e)system.exit(0););/ 设置错误提示框container dpanel = dlgerror.getcontentpane(); dpanel.setlayout(null);dpanel.add(dlginfo); dpanel.add(ok);dpanel.setbackground(new color(153,255,204); ok.setactioncommand(ok); ok.addactionlistener(this);/ 在主窗体中添加其他组件mainframe.setlayout(null); mainframe.setresizable(false);mainframe.add(start); mainframe.add(start2); mainframe.add(exit); mainframe.add(labelip); mainframe.add(hostname); mainframe.add(labelportstart); mainframe.add(labelportend); mainframe.add(portstart);mainframe.add(portend); mainframe.add(labelthread); mainframe.add(threadnum); mainframe.add(labelresult); mainframe.add(result); mainframe.add(state); mainframe.add(scanning);/ 设置扫描按钮和退出按钮start.setbounds(350, 232, 100, 30); start.setactioncommand(start);start.addactionlistener(this); start.setbackground(new color(153,255,204); start2.setbackground(new color(153,255,204); start2.setbounds(250, 232, 100, 30); start2.setactioncommand(start2); start2.addactionlistener(this); exit.setbounds(475, 232, 60, 30); exit.setactioncommand(exit); exit.addactionlistener(this); exit.setbackground(new color(153,255,204); labelip.setbounds(17, 13, 50, 20);hostname.setbounds(67, 10, 92, 25); hostname.sethorizontalalignment(jtextfield.center);labelportstart.setbounds(162, 13, 60, 20);portstart.setbounds(227, 10, 45, 25); portstart.sethorizontalalignment(jtextfield.center);labelportend.setbounds(292, 13, 60, 20);portend.setbounds(357, 10, 45, 25); portend.sethorizontalalignment(jtextfield.center);labelthread.setbounds(422, 13, 50, 20);threadnum.setbounds(477, 10, 45, 25); threadnum.sethorizontalalignment(jtextfield.center);labelresult.setbounds(1, 45, 55, 20);result.setbounds(1, 65, 542, 160);result.seteditable(false);result.setbackground(new color(204,255,51);/设置显示结果窗口颜色rgb state.setbounds(17, 232, 60, 30);scanning.setbounds(80, 232, 120, 30); mainframe.setvisible(true);public void actionperformed(actionevent e) string cmd = e.getactioncommand();/ 得到明明处理事件if(cmd.equals(start)|cmd.equals(start2)/启动扫描线程try scan.hostaddress=inetaddress.getbyname(scanner.hostname.gettext();scan2.hostaddress=inetaddress.getbyname(scanner.hostname.gettext(); catch (unknownhostexception e1) dlgerror.setbounds(300, 280, 160, 110); dlginfo.settext(错误的 ip 地址 /域名 ); dlginfo.setbounds(25, 15, 100, 20);ok.setbounds(45, 40, 60, 30); dlgerror.setvisible(true); return ;int minport ; int maxport ;int threadnum ;/ 获取输入数据try 数!);minport = integer.parseint(portstart.gettext(); maxport = integer.parseint(portend.gettext(); threadnum = integer.parseint(threadnum.gettext(); catch (numberformatexception e1) dlgerror.setbounds(300, 280, 299, 120);dlginfo.settext(错误的端口号或线程数!端口号和线程数必须为整dlginfo.setbounds(10, 20, 280, 20);ok.setbounds(110, 50, 60, 30);dlgerror.setvisible(true); return;/ 输入信息错误处理if(minport 65535)|(minport maxport) dlgerror.setbounds(300, 280, 295, 120);dlginfo.settext(最小端口必须是0-65535 并且小于最大端口的整数); dlginfo.setbounds(10, 20, 280, 20);ok.setbounds(120, 50, 60, 30);dlgerror.setvisible(true); return ;if(threadnum 200)| (threadnum 0) dlgerror.setbounds(300, 280, 184, 120); dlginfo.settext(进程数必须是1-200 中的整数 ); dlginfo.setbounds(10, 20, 200, 20);ok.setbounds(55, 50, 60, 30); dlgerror.setvisible(true); return ;result.append(正在 扫 描+hostname.gettext()+线 程数:+threadnum+n);scanning.settext(开始扫描 .);result.append(开始端口 + minport + 结束端口 + maxport + n); if(cmd.equals(start)/启动 tcp 扫描线程for(int i = minport;i = maxport; ) if(i + threadnum) = maxport) new scan(i, i + threadnum).start(); i += threadnum;else new scan(i, maxport).start(); i += threadnum;elseif(cmd.equals(start2)/启动 udp 扫描线程for(int i = minport;i = maxport; ) if(i + threadnum) = maxport) new scan2(i, i + threadnum).start();i += threadnum;else new scan2(i, maxport).start(); i += threadnum;try thread.sleep(3000);/设置处理等待时间 catch (interruptedexception e1) e1.printstacktrace();result.append(扫 描 完 成 !n); scanning.settext(扫描完成! );else if(cmd.equals(ok) dlgerror.dispose();else if(cmd.equals(exit) system.exit(1);public static void main(string args) new scanner();/tcp scan classclass scan extends thread int maxport, minport;public static inetaddress hostaddress;scan(int minport, int maxport) this.minport = minport; this.maxport = maxport;public void run()/ 扫描指定端口for(int i = minport;i maxport; i+) scanner.scanning.settext(正在扫描 +i+ 端口 ); try /根据主机名和端口号创建套接字地址。socketaddress sockaddr = new inetsocketaddress(hostaddress, i); socket scans=new socket();int timeoutms=50;/将此套接字连接到具有指定超时值的服务器。scans.connect(sockaddr, timeoutms);/关闭此套接字。scans.close();/ 添加结果显示端口 : + i);scanner.result.append(主机 : + scanner.hostname.gettext() + tcpswitch(i)/ 通用 tcp 端口作用显示case 20: scanner.result.append(ftp data);break; case 21: scanner.result.append(ftp control);break; case 23: scanner.result.append(telnet);break;case 25: scanner.result.append(smtp);break;case 38: scanner.result.append(rap);break;case 53: scanner.result.append(dns);break;case 79: scanner.result.append(finger);break;case 80: scanner.result.append(http);break;case 139: scanner.result.append(netbios);break;case 110: scanner.result.append(pop);break;case 161: scanner.result.append(snmp);break;case 443: scanner.result.append(https);break;case 1433: scanner.result.append(sql);break;case 1521: scanner.result.append(oracle);break;case 3389: scanner.result.append(terminal service);break; case 8000: scanner.result.append(oicq);break;scanner.result.append(开放 n); catch (ioexception e) /udp scan classclass scan2 extends threadint maxport, minport,port;public s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学科学雾霾小知识教案
- 七年级地理上册导地球的公转教案
- 探究串并联电路的电流规律上教案
- 社会教案中班详案(2025-2026学年)
- 八年级数学上册位置坐标平面直角坐标系建立平面直角坐标系新版教案(2025-2026学年)
- 品德道德与法治八上八年级政治人教版我与父母交朋友两代人的对话公开课教案教学设计测试卷练
- 高考英语一轮复习UnitConflict北师大选修教案
- 小牛顿科学实验彩虹色水公开课获奖教案
- 高中物理万有引力航天从托勒密到开普勒沪科版必修教案
- 骨科ERAS你我共努力教案
- 2025广东深圳市龙华区招聘社区网格员72人考试笔试参考题库附答案解析
- 服装店店长岗位职责详述
- 工业废水处理工岗位标准化技术规程
- 神经科癫痫患者的日常护理指南
- 2026年南京科技职业学院单招职业倾向性测试题库及答案1套
- 私宴接待流程标准化管理
- 2025年农商银行面试题目及答案
- (14)普通高中音乐课程标准日常修订版(2017年版2025年修订)
- 《Web前端开发(JavaScript)》技工中职全套教学课件
- 2025安徽芜湖市人才发展集团代招聘芜湖市投资控股集团有限公司下属子企业招聘工作人员8人考试笔试参考题库附答案解析
- 中级育婴员岗位技能提升培训计划-Training-Plan-for-Enhancing-Job-Skills-of-Intermediate-Childcare-Worker
评论
0/150
提交评论