网络攻击与防御之网络流量分析实验

实验一 网络流量分析

本次实验所使用到的主要软件包括:虚拟机(VMware/VirtualBox), 流量分析软件(Wireshark, Zeek或科来网络数据包分析软件),网络扫描工具nmap,浏览器(Chrome或IE)。

每个题目给出主要操作步骤、截图和分析。

一. 虚拟机环境设置与网络配置

  1. 使用VMware或VirtualBox创建Linux虚拟机(Ubuntu或 Centos,推荐Ubuntu 18.04);
    1.打开VMware,创建新的虚拟机
    网络攻击与防御之网络流量分析实验_第1张图片
    2.选择使用【典型】,下一步
    网络攻击与防御之网络流量分析实验_第2张图片
    3.选择【稍后安装操作系统】,可以自定义安装,然后下一步
    网络攻击与防御之网络流量分析实验_第3张图片
    4.这里选择linuxubuntu 64位,下一步
    网络攻击与防御之网络流量分析实验_第4张图片
    5.设置虚拟机名称和安装位置
    网络攻击与防御之网络流量分析实验_第5张图片
    6.设置虚拟机磁盘容量
    网络攻击与防御之网络流量分析实验_第6张图片
    7.点击【自定义硬件©】
    网络攻击与防御之网络流量分析实验_第7张图片
    8.设置内存大小和处理器数量,选择使用ISO映像文件并找到ISO文件所在路径将其引入,点击【关闭】,然后点击完成
    网络攻击与防御之网络流量分析实验_第8张图片
    9.点击【开启此虚拟机】开机,进行linux虚拟机安装
    网络攻击与防御之网络流量分析实验_第9张图片
    10.安装ubuntu,点击【install ubuntu】,当然也可以选择中文
    网络攻击与防御之网络流量分析实验_第10张图片
    11.选择正常安装,继续下一步
    网络攻击与防御之网络流量分析实验_第11张图片
    12.点击【现在安装】,开始进行安装,弹出的选框点击【继续】
    网络攻击与防御之网络流量分析实验_第12张图片
    13.选择地区位置,在地图上点击中国的位置,然后【继续】
    网络攻击与防御之网络流量分析实验_第13张图片
    14.设置用户名和登录密码,点击【继续】
    网络攻击与防御之网络流量分析实验_第14张图片
    15.等待安装完成即可
    网络攻击与防御之网络流量分析实验_第15张图片
    16.点击【重启】,完成安装
    网络攻击与防御之网络流量分析实验_第16张图片
    2)使用命令行对虚拟机IP地址、网关进行配置,对虚拟机的网络分别使用桥接、NAT和主机模式(host-only),描述三种网络配置的区别,以及虚拟机与主机以及互联网的连通性,并进行解释在虚拟机。
  1. 桥接模式配置,在虚拟机设置处选择桥接模式
    在这里插入图片描述
    开启虚拟机在命令行打开网络配置文件
    在这里插入图片描述
    进行ip和网关等参数配置
    网络攻击与防御之网络流量分析实验_第17张图片
    重新启动网卡,激活配置
    在这里插入图片描述
    Ping百度网址进行测试,能连通,桥接配置完成
    网络攻击与防御之网络流量分析实验_第18张图片
  2. NAT模式,虚拟机设置网络适配器选择NAT
    网络攻击与防御之网络流量分析实验_第19张图片
    虚拟机自动分配ip地址和网关,不需做过多操作,且能连接互联网
    网络攻击与防御之网络流量分析实验_第20张图片
  3. 主机(host-only)模式
    虚拟机网络适配器设置为仅主机模式
    网络攻击与防御之网络流量分析实验_第21张图片
    查看物理主机的网络配置信息
    网络攻击与防御之网络流量分析实验_第22张图片
    然后配置虚拟机ip地址,网关和DNS
    网络攻击与防御之网络流量分析实验_第23张图片
    检验是否能与主机通信,ping 主机ip地址能ping通
    网络攻击与防御之网络流量分析实验_第24张图片
    在物理主机上ping虚拟机检验能否ping通
    网络攻击与防御之网络流量分析实验_第25张图片
    双方都能ping通,但是不能连接外网,ping 百度不能ping通
    在这里插入图片描述
    三种模式的区别:
    桥接:
    桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚网卡在拓扑图上处于同等地位,主机和虚拟机在同一网段内,虚拟交换机相当于一台现实网络中的交换机,物理网卡和虚拟网卡的子网掩码、网关、DNS等参数相同。在桥接模式下,虚拟机和主机和互联网可以互相连通。
    NAT:
    在NAT网络中,使用VMnet8虚拟网卡,主机和是哪个的虚拟网卡被直接连接到VMnet8虚拟交换机上与虚拟网卡进行通信,VMnet8虚拟网卡的作用仅限于和VMnet8网段进行通信,它不给VMnet8网段提供路由功能,所以虚拟机虚拟一个NAT服务器,使虚拟网卡可以连接到Internet。在这种情况下,我们就可以使用端口映射功能,让访问主机80端口的请求映射到虚拟机的80端口上。在NAT地址转换模式下,宿主计算机相当于一台开启了DHCP功能的路由器,而虚拟机则是内网中的一台真实主机,通过路由器(宿主计算机)DHCP动态获得网络参数。因此在NAT模式下,虚拟机可以访问外部网络,反之则不行,因为虚拟机属于内网,虚拟机可与主机和互联网连通
    仅主机(host-only):
    在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是 Host-Only网络没有NAT服务,相当于虚拟机通过双绞线和宿主计算机直连,而宿主计算机不提供任何路由服务,所以虚拟网络不能连接到互联网,虚拟机只能与主机进行相互通信,但是可以设置主机的网络共享来实现虚拟机连接互联网。

二、 流量分析软件使用

  1. 使用Wireshark还原通过HTTP下载的文件。
    1.开启wireshark抓包,找一个http的网站,选择下载一张图片,这里推荐使用搜狗浏览器或360极速浏览器
    网络攻击与防御之网络流量分析实验_第26张图片
    2.在wireshark抓到的数据报中筛选过滤,找到下载图片的数据包进行解析
    网络攻击与防御之网络流量分析实验_第27张图片
    3.找到下载的图片,然后追踪TCP流
    网络攻击与防御之网络流量分析实验_第28张图片
    可看到图片的一些信息和图片的ASCII码
    网络攻击与防御之网络流量分析实验_第29张图片
    4.然后将其转换成原始数据
    网络攻击与防御之网络流量分析实验_第30张图片
    5.将数据文件另存为tupian.jpg文件
    网络攻击与防御之网络流量分析实验_第31张图片
    可以看到此时图片格式不正确文件打不开
    网络攻击与防御之网络流量分析实验_第32张图片
    6.然后将图片文件拖到WinHex中观察图片的十六进制代码,因为jpg格式的图片的文件开头为FFD8,结尾为FFD9,所以修改文件代码,仅留下文件中FFD8和FFD9中间部分数据
    网络攻击与防御之网络流量分析实验_第33张图片
    网络攻击与防御之网络流量分析实验_第34张图片
    7.修改完成后将文件另存为tupian22.jpg,此时就可以打开图片文件了,通过http下载的文件还原成功
    网络攻击与防御之网络流量分析实验_第35张图片
  2. 分析HTTP请求关键字段,包括IP, 端口,URL、User agent,以及响应码,回答通过User agent字段如何判断操作系统
    IP分析:
    网络攻击与防御之网络流量分析实验_第36张图片
    端口分析:源端口:22760, 目的端口:80
    网络攻击与防御之网络流量分析实验_第37张图片
    URL:
    网络攻击与防御之网络流量分析实验_第38张图片
    响应码:200 OK
    网络攻击与防御之网络流量分析实验_第39张图片
    User agent:
    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0
    在这里插入图片描述
    从User Agent中的(Windows NT 10.0; WOW64)可以得出,操作系统为64位的Windows10系统

3)分别使用浏览器和流量分析软件(Wireshark)提取使用HTTPS网站的证书文件,分析该证书关键信息,包括颁发者、颁发时间、密钥信息等。
1.首先打开wireshark开始抓包
2.打开浏览器—>打开百度网页,随便搜索浏览
3.在wireshark中筛选出TLS数据包,找到含有certificate信息的数据包
网络攻击与防御之网络流量分析实验_第40张图片
4.查看数据包信息,展开Transport Layer Security,再找到Handshake Protocol:certificate
网络攻击与防御之网络流量分析实验_第41张图片
5.将certificate展开,可看到证书信息,但是这样显示的是字节流,并不能看出证书信息
网络攻击与防御之网络流量分析实验_第42张图片
6.选中certificate信息点击鼠标右键,选择【导出分组字节流】,输入文件名,后缀是cer,保存类型为All Files。
网络攻击与防御之网络流量分析实验_第43张图片
7.打开保存的证书文件,即可看到https证书详细信息
网络攻击与防御之网络流量分析实验_第44张图片
从详细信息中可以看到:
颁发者为Microsoft RSA TLS CA 02
证书有效期为
在这里插入图片描述
公钥RSA(2048 Bits)
网络攻击与防御之网络流量分析实验_第45张图片
版本序列号等
网络攻击与防御之网络流量分析实验_第46张图片

三、Zeek使用

  1. 在Linux虚拟机安装Zeek,在命令行进行数据包实时抓取。

1.进入Zeek官网,选择下载Linux Binaries
网络攻击与防御之网络流量分析实验_第47张图片
2.选择操作系统版本为ubuntu,然后点击添加软件源手动安装
网络攻击与防御之网络流量分析实验_第48张图片
3.按 Ctrl+Alt+T 打开命令行终端,输入以下4条命令进行安装

echo 'deb http://download.opensuse.org/repositories/security:/zeek/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/security:zeek.list
curl -fsSL https://download.opensuse.org/repositories/security:zeek/xUbuntu_20.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null
sudo apt update
sudo apt install zeek-lts

4.安装完成后使用whereis zeek可查看Zeek安装位置
在这里插入图片描述
5.使用cd /opt/zeek/etc/ 命令进入该目录下,使用ls命令查看目录中文件
在这里插入图片描述
6.使用vi node.cfg 命令编辑配置文件,设置检测设备的正确接口interface,设置要监视的正确网卡,我的网卡是ens33,完成之后保存并退出
在这里插入图片描述
网络攻击与防御之网络流量分析实验_第49张图片
7.使用vi networks.cfg命令编辑配置文件,注释掉默认设置,然后添加监测环境的本地网络,添加完成后保存退出

本地网络IP地址
网络攻击与防御之网络流量分析实验_第50张图片
编辑配置文件
在这里插入图片描述
网络攻击与防御之网络流量分析实验_第51张图片
8.现在使用zeekctl启动Zeek,但是看到还启动不了
在这里插入图片描述
原因是安装zeek的时候,并未将bin目录放到环境中,因此还需要设置环境变量,将/opt/zeek/bin路径放到环境中

9.添加环境变量
9.1 使用export PATH=$PATH:/opt/zeek/bin 命令添加环境变量:在~/.bashrc文件中添加路径,如果是普通用户下则仅对当前用户,如果是在root用户下则是对所有用户
9.2 source ~/.bashrc 使其设置生效
9.3 echo $PATH 打印环境变量中的路径,如果出现zeek地址则添加成功
网络攻击与防御之网络流量分析实验_第52张图片
说明:如果不是root用户,zeek文件夹的操作权限需要交给用户,使用sudo chmod -R 777 /opt/zeek 命令修改zeek文件夹的用户权限


10.现在使用zeekctl命令可以开启ZeekControl终端了,由于是第一次使用,还需要使用命令 install对ZeekControl配置进行初始化安装,然后用start命令启动Zeek实例
网络攻击与防御之网络流量分析实验_第53张图片
说明:zeek启动之后会一直进行下去,可以使用stop命令来停止运行

2)分析Zeek产生的log日志,说明有哪些log以及conn.log每个字段的含义。
1.使用命令cd /opt/zeek/logs/current进入logs文件夹下,用ls命令查看有哪些log日志文件
网络攻击与防御之网络流量分析实验_第54张图片
可以看到有http,dhcp,ntp,srderr,conn,stdout,dns等log文件,分别记录了各种数据包流量的内容

其中conn.log中每个字段的含义
Ts:time:Timestamp 时间戳
Uid:string:Unique ID of Connection 连接的唯一ID
Id.orig_h: addr:Originating endpoint’s IP address 发起端的IP地址
Id.orig_p: port:Originating endpoint’s TCP/UDP port(or ICMP code) 发起端点的
TCP/UDP端口
Id.resp_h: addr:Responding endpoint’s IP address 响应端的IP地址
Id.resp_p: port:Responding endpoint’s TCP/UDP port(or ICMP code) 响应端点的TCP/UDP端口
Proto: enum:Transport layer protocol of connection数据包传输层连接协议TCP,UDP
Service: string:Dynamically detected application protocol 动态检测应用程序协议
Duration: interval:看到最后一个数据包的时间 - 看到第一个数据包的时间,即数据包发送的时间
Orig_bytes: count:如果是TCP,则从序列号加载字节
Resp_bytes: count:响应者有效载荷字节,如果是TCP,则来自序列号
Conn_state: string:Connection state 连接状态
Local_orig: bool:如果conn来自本地则为T,如果远程则为F。如果site::local\u nets为空,,则始终取消设置
Missed_bytes: count:连接间隙中缺少的字节数
History: string: 连接状态历史记录
Orig_pkts: count: 原始数据包数
Orig_ip_bytes: count:原始IP字节数(通过IP总长度标头字段)
Resp_pkts: count: 响应数据包数
Resp_ip_bytes: count: 响应IP字节数(通过IP总长度标头字段)
Tunnel_parents: set: 如果已隧道化,则封装父级的连接UID

注:当host是本机,目标主机是虚拟机,也可让虚拟机扫描host。不能使用虚拟机扫描非宿主机机器。

你可能感兴趣的:(虚拟机,网络安全,网络,wireshark,linux)