zoukankan      html  css  js  c++  java
  • 20199106 2019-2020-2 《网络攻防实践》第四周作业

    20199106 2019-2020-2 《网络攻防实践》第四周作业

    作业说明

    这个作业属于哪个课程 网络攻防实践
    这个作业的要求在哪里 第四周作业:网络嗅探与协议分析
    我在该课程的目标 对网络攻防技术有一个比较全面的认识,能够掌握基本的攻防操作。
    这个作业在哪个具体方面帮助我实现目标 学习了网络嗅探和网络协议分析技术,用以截获并分析数据。

    作业正文

    实践内容

    本周学习了网络嗅探和网络协议分析技术,用以截获并分析数据。

    网络嗅探技术

    1、定义:利用计算机的网络接口截获目的地址为其他计算机的数据报文,以监听数据流中所包含的私密信息。
    2、实现网络嗅探技术的工具称为网络嗅探器。截获到的是经过封包的二进制数据,通常会结合网络协议分析技术来解析嗅探到的网络数据。
    3、基本的检测防范方法包括:
    1)网络嗅探的检测:如检查网卡是否运行在混杂模式下。也可以通过操作系统和协议栈对混杂模式的香型不同来判断。
    2)网络嗅探的防范:采用安全的网络拓扑(交换式网络),用静态ARP代替动态,避免明文传输,重视网络集中节点的保护(路由器,交换机等)。

    网络协议分析

    1、定义:是网络嗅探器进一步解析与理解捕获数据包必须的技术手段。
    2、原理:与主机的解包过程原理类似,需要从底向上逐层解析网络协议。不同的是,网络协议分析需要解析和保存各个网络层次上的所有包头字段信息,以及最高层的应用层数据
    技术内容,并提供给用户用以了解网络数据包的全方位信息。
    3、实现:在开源的软件如Tcpdump、Wireshark和Snort中都有相应源码实现。

    实践过程

    动手实践: tcpdump

    使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?

    1、几个常用选项(更多更具体的选项用法,可直接man tcpdump进行参考):

    -D 显示当前系统中所有可用的网卡接口
    -i 指定用于嗅探的网卡接口
    -c 后面跟上要抓包的个数[要抓几个包]
    -s 指定抓取的数据包长度,设置为0时,表示让tcpdump自行选择合适的长度进行抓取,务必加上,不然可能会抓不全
    -A 以ASCII码的形式显示每个数据包,分析http类数据非常好用
    -vvv 显示最详细的输出
    -w 将数据包直接写到文件中而不直接输出,这种有利于我们后续可以直接包丢到wireshark中去人工分析
    -U 将数据包的写入和保存同步,不用非等到缓冲区已满时才写入文件,通常配合 -w 一起使用
    -r 可以把之前用 -w 写入的数据包文件,再用 -r 选项进行读取
    -xx / -XX 以16进制显示数据包,分析学习各种协议时非常直观
    -q 让输出的格式更为精简,有点儿类似安静模式
    -nn 不解析端口和主机名,其实就是不把端口解析成服务名,比如21 => ftp

    2、常用几个过滤器关键字:

    host,port 指定ip和端口

    src,dst 指定数据流向,目的和源[可以是主机,端口]

    net 指定网段

    常用的几个过滤器运算符: and(且) ,or(或者),!(非)

    首先在kali打开网页:wwww.tianya.cn

    在terminal运行命令 sudo tcpdump src 192.168.200.2 and tcp dst port 80 ,其中 srcdst 是确定传输方向的关键字,指明ip包中源地址是 192.168.200.2 ,表示只捕获80端口的TCP协议数据包,监听192.168.200.2的http通信。

    由上得到浏览器访问的Web服务器的IP地址 :

    221.182.218.229
    221.182.218.244
    72.21.202.25
    124.225.214.214
    221.182.218.238
    

    用nslookup验证tcpdump的正确性:

    动手实践:Wireshark实践

    任务:使用wireshark对在本机上以telnet方式登录BBS进行嗅探与协议分析。

    1)BBS服务器的IP地址与端口?

    2)telnet协议是如何向服务器传送你输入的用户名及登录口令?

    如何利用wireshark分析嗅探的数据包,并从中获取用户名及登录口令?

    Telnet意思是Internet的远程登录协议,可以通过它远程登录来控制别的计算机,以前用的挺多的,但隋着个人电脑的强大以及安全性问题,现在用的比较少了。

    在winxp虚拟机中,终端输入如下命令:

    打开复旦bbs论坛:

    输入new,再依次注册用户名wyrwyr,和用户密码111111,注册成功后,重新登录论坛:

    1、打开WinXP自带的wireshark软件,在过滤器直接输入 telnet ,即可过滤显示telnet相关的数据包,通过查看wireshark里面可知其端口号为23,ip如下图所示:

    2、telnet是使用明文向服务器传送用户名和命令的。

    3、通过选定analyze->follow TCP Stream,可以得到注册的用户名和密码,如下图:

    实践作业 取证分析实践:解码网络扫描

    1.攻击主机的IP地址是什么?

    2.网络扫描的目标IP地址是什么?

    3.本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?

    4.你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。

    5.在蜜罐主机上哪些端口被发现是开放的?

    6.攻击主机的操作系统是什么?

    1、2、通过wireshark打开listen.pcap文件,发现ip地址只有2个,分别是172.31.4.178和172.31.4.188,而172.31.4.188是不同的端口对一个端口的回应,可以知道攻击主机IP地址为172.31.4.178,扫描的目标IP地址为172.31.4.188。

    3、将listen.pcap复制到kali的home/kali文件夹中,使用snort工具对二进制文件进行入侵检测。

    首先按如下步骤安装snort

    sudo apt-get update                  // 更新APT库
    sudo apt-get install snort           // 安装snort
    sudo chmod 777 /etc/snort/snort.conf // 给予snort.conf可读可写可执行权限
    snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap // -A开启报警模式,-q不显示状态报告,,-u为初始化后改变snort的UID,-c为使用后面的配置文件,进入IDS模式,-r从pcap格式的文件中读取数据包
    

    安装过程中会出现错误信息,要用到换源操作。(忘截图了。。。)

    检测结果如下图所示:可见本次攻击工具是nmap

    4、TCP SYN扫描原理(引用):“扫描器向目标主机的一个端口发送请求连接的SYN包,扫描器在收到SYN/ACK后,不是发送的ACK应答而是发送RST包请求断开连接。这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志中。这种扫描技术一般不会在目标主机上留下扫描痕迹。”

    由此可以判断攻击者使用了TCP SYN扫描方法。

    5、由TCP SYN扫描原理,使用过滤命令 tcp.flags.ack == 1 and tcp.flags.syn ==1 发现打开的服务,通过点击每个服务可以查看到下方显示的打开的端口。比如,这里有mysql 3306 ssh 22 telnet 23 http 80 ftp 21

    6、p0f是一款被动探测工具,能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别,即使是在系统上装有性能良好的防火墙的情况下也没有问题。

    此处使用p0f工具,终端输入sudo apt-get install p0f,安装p0f,接着输入sudo p0f -r listen.pcap进行探测,结果如下,可得操作系统版本为linux 2.6.x。

    实践作业-攻防对抗实践

    攻击方用nmap扫描(达到特地目的),防守方用tcpdump嗅探,用Wireshark分析,并分析出攻击方的扫描目的以及每次使用的nmap命令。

    实验条件及步骤:

    1、kali为攻击方,IP地址为 192.168.200.2 ,seedubuntu为防守方,IP地址为 192.168.200.4。

    2、在seedubuntu上利用指令 tcpdump -i eth6 -w /home/seed/dump.pcap监听并且保存文件为dump.pcap。

    3、在kali主机上用nmap进行攻击,依次包括 -sP,-sT,-sS,-O,-sV攻击。

    4、利用Wireshark进行分析查看

    开放的端口:

    通过过滤器的 tcp.flags.syn == 1 and tcp.flags.ack == 1 可查看靶机的开放端口为22号。

    攻击者的扫描方法:

    查看ARP数据包,可以看出只检测了主机的活跃性,故推测攻击方的命令:nmap -sP 192.168.200.4

    学习中遇到的问题及解决

    问题一:虚拟机中的火狐浏览器上不了网。

    解决:经过反复的摸索,试了各种办法,差不多搞了大半天,最后把网断开再重连,突然就好了。

    问题二:本机的打开或关闭windows功能白屏

    解决:在网上看了很多解决方法,也都试了,还是没办法,有可能是某个.dll文件损坏了。于是只好把第二个实验放到了winXP里面做。

    学习感想和体会

    这次的实验做的太痛苦了,书本一关两眼抹黑,电脑各种小状况,好几次想放弃了,最后还是慢慢问同学,慢慢解决。总之,还是基础不好,还要努力吧。

    参考资料

    《网络攻防技术与实践》 诸葛建伟

  • 相关阅读:
    高斯消元学习
    HDU 4596 Yet another end of the world(解一阶不定方程)
    Codeforces Round #318 div2
    HDU 4463 Outlets(一条边固定的最小生成树)
    HDU 4458 Shoot the Airplane(计算几何 判断点是否在n边形内)
    HDU 4112 Break the Chocolate(简单的数学推导)
    HDU 4111 Alice and Bob (博弈)
    POJ 2481 Cows(线段树单点更新)
    HDU 4288 Coder(STL水过)
    zoj 2563 Long Dominoes
  • 原文地址:https://www.cnblogs.com/wyrr/p/12571981.html
Copyright © 2011-2022 走看看