欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

网络安全实验报告.doc

  • 资源ID:16654568       资源大小:2.51MB        全文页数:30页
  • 资源格式: DOC        下载积分:5积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要5积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

网络安全实验报告.doc

网络安全实验报告姓名:杨瑞春班级:自动化86学号:08045009实验一:网络命令操作与网络协议分析一实验目的:1. 熟悉网络基本命令的操作与功能。2. 熟练使用网络协议分析软件ethereal分析应用协议。二实验步骤:1. 网络命令:pingtracertnetstatipconfigtelnetnetcatArproutenslookupSsh2. 协议分析软件:ethereal的主要功能:设置流量过滤条件,分析网络数据包,流重组功能,协议分析。三实验任务:1跟踪某一网站如google的路由路径2查看本机的MAC地址,ip地址输入 ipconfig /all找见本地连接.Description . . . . : SiS 900-Based PCI Fast Ethernet AdaptePhysical Address. . : 00-13-8F-07-3A-57DHCP Enabled. . . . : NoIP Address. . . . . : 192.168.1.5Subnet Mask . . . . : 255.255.255.0Default Gateway . . : 192.168.1.1DNS Servers . . . . : 61.128.128.67 192.168.1.1Default Gateway . . : 192.168.1.1这项是网关.也就是路由器IPPhysical Address. . : 00-13-8F-07-3A-57这项就是MAC地址了.3telnet到linux服务器,执行指定的命令4.ssh连接到linux服务器,执行指定的命令5.nc应用:telnet,绑定程序(cmd,shell等),扫描,连接等。6.选择任意一种应用层协议如www,ftp,qq等,利用ethereal对该协议进行分析。实验报告要求有ethereal捕获的网络流量和数据包协议解析的屏幕截图。7分析honeynet challenge dataset的真实攻击网络流量利用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,在网站输入框中输入www.xjtu.edu.cn,点击查询网站详情,可以在随后弹出的网页上查看交大网站的详细信息,包括站点创建时间,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,实现隧道模式,传输模式等功能。(1)、启用xp的远程访问组件,该组件默认不启用。打开服务services.msc,找到Routing and Remote Access服务,设置启动类型为自动,并启动服务。(2)、双击打开属性,勾选“虚拟专用网”下的复选框。打开“用户页”,选择允许远程拨入的用户,或者新建用户。打开网络页,确保计算机上已经安装了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解压,将里面的文件全部直接放在snortrules下3.将snort.conf拷贝到bin目录下4.在cmd中执行snort的命令Snort扫描到的端口查看snort.conf实验四:网络安全软件开发:网络扫描器一实验目的:1.熟悉网络扫描器实现的关键技术2.熟练运用C#,java开发网络应用程序3.熟悉网络协议字段含义及结构二实验内容:1.网络扫描器实现基本的地址扫描,端口扫描,TCP/UDP扫描,实现多线程扫描。2.图形化界面的网络扫描器软件3.提交源代码、可执行程序及代码注释文件及执行结果截图。三实验分析: 多线程:电脑上有个端口。如果只启动一个线程的话个端口需要的时间可以用小时计算。解决这个问题需要用到多线程原理。多线程实现可通过继承Thread类或者实现Runnable接口来达到。主机端口扫描:与目标主机创建TCP连接,如果成功则说明端口监听中,同事对正在监听的端口做识别操作!默认按照常用端口服务给出提示!例如21,则提示ftp服务。UDP扫描是向目标主机端口发送固定字符,读取目标主机回复内容! TCP扫描原理:利用java.net.Socket 类建立socket连接,如果无法与指定的IP和端口建立连接,将会抛出IOException。我们用try-catch对这个IOException 异常进行捕获,以判断是否成功与指定的IP端口建立连接。如果成功建立了连接,说明指定IP的指定端口已经开放;如果程序抛出了一个 IOException异常被我们捕获,则说明指定的IP没有开放指定的端口。扫描指定端口段则是利用循环不断与服务器的指定端口进行连接,供我们判断是否开放。 UDP扫描原理:这种方法使用的是UDP协议。由于这个协议很简单,所以扫描变得相对比较困难。这是由于打开的端口对扫描探测并不发送一个确认,关闭的端口也并不需要发送一个错误数据包。幸运的是,许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个 ICMP_PORT_UNREACH错误。这样你就能发现哪个端口是关闭的。UDP和ICMP错误都不保证能到达,因此这种扫描器必须还实现在一个包看上 去是丢失的时候能重新传输。这种扫描方法是很慢的,因为RFC对ICMP错误消息的产生速率做了规定。同样,这种扫描方法需要具有root权限。利用java.net.DatagramSocket 类给指导IP发送DatagramPacket数据包,如果捕获到java.net.PortUnreachableException异常,说明对方主机返回了ICMP_PORT_UNREACH的错误,说明端口关闭,否则如果在指定等待时间内没有得到回复,则捕获到java.net.SocketTimeoutException连接超时异常,说明端口是开放的。判断IP地址和端口合法性:在得到端口和建立socket之前一定要判断IP地址和端口的合法性,因为端口的范围是在165535,如果我们去建立范围外端口的连接就是没必要的,而且是不可行的。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 .对站点127.0.0.1进行TCP扫描:3 .对站点127.0.0.1进行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 java.net.InetAddress;import java.net.InetSocketAddress;import java.net.Socket;import java.net.SocketAddress;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.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("未开始扫描");public static JTextField hostName = new JTextField("172.22.65.10");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);/设置显示结果窗口颜色RGBState.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 < 0)|(maxPort > 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 Threadint 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(); / 添加结果显示Scanner.Result.append("主机:" + Scanner.hostName.getText() + " TCP端口:" + i);switch(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 static InetAddress hostAddress;Scan2(int minPort, int maxPort)this.minPort = minPort;this.maxPort = maxPort;public void run()for(int port=minPort;port<=maxPort;port+)DatagramSocket connection = null;byte myByte = hostAddress.toString().getBytes();String myStr = new String(myByte);try /connection = new DatagramSocket(port, InetAddress.getByName(ipAddress);/(ipAddress, port);connection = new DatagramSocket( );/(ipAddress, port);/connection.setReceiveTimeout(20*1000);connection.setSoTimeout(60*1000);Scanner.Scanning.setText("正在扫描"+port+"端口");connection.connect( hostAddress, port);System.out.println(port+"连结创建完成.");connection.send(new DatagramPacket(myByte, myByte.length);System.out.println(" 数据发送完成.");while(true)byte newByte = new byte4096;DatagramPacket dp = new DatagramPacket(newByte, 4096);connection.receive(dp);if (dp != null && dp.getData() != null)System.out.println(dp.getLength();System.out.println("#");byte rslt = dp.getData();for (int i = 0;i < dp.getLength(); i+) System.out.println(rslt);System.out.println("#");break;connection.close();catch(java.net.PortUnreachableException e)/ICMP不可达System.out.println(port+"UDP端口关闭了n");catch(java.net.SocketTimeoutException e)/连接超时Scanner.Result.append(port+"UDP端口打开n");catch(Exception ex)ex.printStackTrace();

注意事项

本文(网络安全实验报告.doc)为本站会员(小**)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!