20222948 2022 您所在的位置:网站首页 wireshark为什么显示本地主机的实际mac地址 20222948 2022

20222948 2022

2023-03-24 10:42| 来源: 网络整理| 查看: 265

实践三 网络嗅探与协议分析 1.知识点总结 1.1 网络嗅探

1.定义: 网络嗅探是一种黑客常用的窃听技术。与传统的电话窃听相类似,网络嗅探利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。实现网络嗅探技术的工具称为网络嗅探器。嗅探器捕获的数据报文是经过封包处理之后的二进制数据。因此,通常会结合网络协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容。以及实际发送的应用程序信息。

2.原理与实现: (1)以太网工作原理介绍: 以太网通过使用CSMA/CD协议的共享通信信道进行消息传输。以太网中的数据以帧为单位,将上层的数据包装配上帧头和帧尾,通过MAC地址匹配数据包的目标。当网卡处于混杂模式下,能够接受一切通过它连接的以太网络的数据帧。 (2)网络监听的原理: ①利用以太网的特性把网卡置为混杂模式状态的工具,一旦网卡设置为这种模式,它就能接收经过它的每一个信息包。 ②共享式网络嗅探:使用集线器连接,集线器上任意一台主机都能够嗅探整个集线器上的全部网络流量。 ③交互式网络嗅探:通过MAC地址映射表来发送数据。通常有以下三种方式实现嗅探: MAC地址泛洪攻击、MAC欺骗、ARP欺骗。

3.网络嗅探软件: (1)类Unix平台下的嗅探软件: libpcap、tcpdump、wireshark和dsniff、sniffit等。 (2)windows平台下的嗅探软件: wireshark、snifferPro等。

1.2 网络协议分析

1.定义: 网络协议分析是网络嗅探器进一步解析与理解捕获数据包必须的技术手段,是指对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。

2.原理: 网络协议分析需要从底向上逐层解析网络协议,同时进行IP分片包以及TCP会话的重组,需要解析与保存各个网络层次上的所有包头字段信息,以及最高层的应用层数据,并提供给用户以了解网络数据包的全方位信息。

3.技术实现: 在开源的软件如Tcpdump、Wireshark和Snort中都有相应源码实现。

4.网络协议分析工具: Wireshark。

2.实验过程 2.1 动手实践tcpdump

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

1.首先查看自己的IP,输入指令ifconfig: 在这里插入图片描述 2.在kali虚拟机的terminal输入sudo tcpdump -n src 192.168.200.3 and tcp dst port 80 and “tcp[13] & 18=2”;

然后浏览器访问www.tianya.cn: 在这里插入图片描述 3.tcpdump嗅探到的数据包如下: 可以看出系统访问了4个web服务器,IP地址分别是:124.225.206.22;124.225.69.77;124.225.135.230;124.225.214.214。 在这里插入图片描述 4.在kali虚拟机的terminal输入nslookup www.tianya.cn查看www.tianya.cn的IP地址: 在这里插入图片描述

2.2 动手实践Wireshark

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程: ①你所登录的BBS服务器的IP地址与端口各是什么? ②TELNET协议是如何向服务器传送你输入的用户名及登录口令? ③如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

1.选择在主机上进行telnet,首先将telnet打开: 在这里插入图片描述 2.打开wireshark并开始监听: 在这里插入图片描述 3.以清华大学水木社区为例,打开windows终端在命令行输入 telnet bbs.newsmth.net: 在这里插入图片描述 输入账号密码进入社区: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

4.Wireshark上查看抓到的telnet的包。用wireshark在过滤器位置输入ip.addr==120.92.212.76。其中120.92.212.76是清华大学水木社区BBS服务器的ip: 可知其端口号为23。 在这里插入图片描述

问1:你所登录的BBS服务器的IP地址与端口各是什么? 答:IP地址为:120.92.212.76;端口为:23。

问2:TELNET协议是如何向服务器传送你输入的用户名及登录口令? 答:Telnet远程登录服务分为以下4个过程: ①本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名; ②将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报; ③将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果; ④本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。 Telnet是远程登录程序,它由运行在用户的本地计算机上的Telnet客户程序和运行在要登录的远程计算机上的Telnet服务器程序所组成。 Telnet的作用就是让用户以模拟终端的方式,登录到Internet的某台主机上。一旦连接成功,这些个人计算机就好像是远程计算机的一个终端,可以像使用自己的计算机一样输入命令,运行远程计算机中的程序。

问3:如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令? 答:这里传递用户名和密码时,是一个字符一个字符传递的;传递密码是用明文传输的,很容易被获取,可知telnet是明文传输非常的不安全。

5.可以发现这里传递用户名和密码时,是一个字符一个字符传递的;传递密码是用明文传输的,很容易被获取,可知telnet是明文传输非常的不安全: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 6.也可以通过追踪TCP流查看用户名和密码: 在这里插入图片描述

2.3 取证分析实践,解码网络扫描器(listen.cap)

①攻击主机的IP地址是什么? ②网络扫描的目标IP地址是什么? ③本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的? ④你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。 ⑤在蜜罐主机上哪些端口被发现是开放的? ⑥攻击主机的操作系统是什么?

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

1.在kali虚拟机上使用wireshark打开listen.pcap: 在这里插入图片描述 wireshark界面点击 statistics——>Conversations——>IPv4,得到如下图: 在这里插入图片描述 可以看到往返主机172.31.4.178和主机172.31.4.188之间的数据包很多,远多于其他三组。所以分析可得172.31.4.178和172.31.4.188即为攻击主机和靶机主机对应的ip。

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

2.从发送的TCP数据包可以看出,ACK数据包都是由172.31.4.188发出的,由此可确定网络扫描的目标IP地址为172.31.4.188。 在这里插入图片描述

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

3.由于本次案例中是使用了nmap发起的端口扫描,所以在kali中安装snort。 启动Kali Linux的终端,运行命sudo vim/etc/apt/sources.list,进行换源: 在这里插入图片描述 把官方源注释掉,换成: deb http://http.kali.org/kali kali-rolling main contrib non-free deb http://http.kali.org/kali sana main non-free contrib deb http://security.kali.org/kali-security sana/updates main contrib non-free deb http://old.kali.org/kali moto main non-free contrib 在这里插入图片描述 接着输入sudo apt-get update更新: 在这里插入图片描述 上图可见数字签名无效,需要执行命令wget archive.kali.org/archive-key.asc下载签名; 接着输入命令apt-key add archive-key.asc 安装签名: 在这里插入图片描述 在这里插入图片描述 输入:sudo apt-get update: 在这里插入图片描述 输入sudo apt-get install snort即可安装成功: 在这里插入图片描述 snort安装成功: 在这里插入图片描述 执行sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap,得到如下结果: 从“SCAN nmap XMAS”中可看出,攻击者使用nmap工具进行端口扫描。 在这里插入图片描述

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

4.用wireshark打开这个listen.pcap文件: 在这里插入图片描述 过滤条件设置为arp: 攻击机在广播域中广播arp request报文,寻找目标IP地址为172.31.4.188的主机的MAC地址。 在这里插入图片描述 5.以icmp作为过滤条件: 搜索icmp过滤发现有数据包交互,说明进行了nmap -sP 172.31.4.188。 在这里插入图片描述 6.以tcp作为过滤条件: 搜索tcp过滤有大量进行了TCP SYN扫描,攻击机向靶机发送带[SYN]标志的请求包,靶机返回一个[SYN/ACK]确认连接,主机再发送一个[RST]断开连接,表名该端口开放。故推测攻击机进行了nmap -sS 172.31.4.188 扫描。 在这里插入图片描述

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

7.在wireshark中输入筛选条件tcp.flags.syn =-1 and tcp.flags.ack== 1: 可以过滤出所有的SYN|ACK的数据包,可得到所有的开放端口。 开放端口有:21、22、23、25、53、80、139、445、3306、3632、5432、8009、8180。 在这里插入图片描述

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

8.使用p0f分析攻击机的操作系统: 在Kali Linux虚拟机终端中输入sudo apt-get install p0f安装p0f工具: 在这里插入图片描述 再输入命令sudo p0f -r listen.pcap: 得知攻击主机的操作系统是2.6.x。 在这里插入图片描述

3.学习中遇到的问题及解决

问题1:安装snort时出现错误。 对于“trying to overwrite”这类错误我使用了下列指令: cd /var/lib/dpkg; sudo mv info info.bak; sudo mkdir info; sudo apt-get update。

问题2:samba错误问题。 使用了如下指令: sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old; sudo mkdir /var/lib/dpkg/info ; sudo apt-get update; sudo apt-get -f install; sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old; sudo rm -rf /var/lib/dpkg/info; sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info; sudo /etc/init.d/samba restart 。

4.学习感想和体会

本次实验我学习了tcp dump的一些命令,还有wireshark的过滤等功能。完成全部实践后,感觉对wireshark还是不够熟悉,其中使用nmap进行网络服务类型探查时wireshark抓包的分析还不是很清楚,在这方面还要多加努力。安装kali中一些工具时出现很多错误,在这一方面也需要加强。

参考文献

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有