实训3 网络协议分析
实训目的
了解网络层各类协议数据包的结构。
了解传输层各类协议数据包的结构。
掌握wireshark工具的使用方法。
能进行FTP/SFTP协议的安全性对比分析。
能进行HTTP/HTTPS协议的安全性对比分析。
实训准备及注意事项
1.硬件:装有Windows操作系统的计算机1台。
2.软件:wirshark、ftp服务器架设工具、web服务器架设工具。
3.严格按照实验步骤进行实验,实验结果以截图的形式进行保留。
实训背景知识
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Wireshark的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的途径取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Wireshark是全世界最广泛的网络封包分析软件之一。
网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息。Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark截取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出流通的封包资讯。Wireshark本身也不会送出封包至网络上。
实训任务1 wireshark工具使用
- 打开 wireshark,这些有波动的就代表可以有流量经过该网卡,选择一张有流量经过的网卡。
- 仔细观察看到捕获到很多流量。
- 可使用上面的过滤器来筛选想要的流量,比如 http 流量。
- 例如过滤源地址是 10.128.2.210 的流量可使用 ip.src eq 10.128.2.210。
- 更多过滤可以参考:
https://blog.csdn.net/wojiaopanpan/article/details/69944970
- 点击红色的停止,然后点击文件,保存,可以把当前的流量包保存。
实验任务2 网络层典型协议数据包的抓取分析
- 打开 Wireshark,选择一张有波动的网卡,进行抓包。
- 抓取arp数据包并分析(如果抓不到arp数据包可在cmd中执行arp -d命令)。
- 抓取并过滤icmp协议数据包并分析(如果抓不到icmp数据包可以在cmd中执行ping命令)
icmp echo request 报文结构:
icmp 通用格式
分析一个 icmp 报文
差错报告 icmp 报文
- 抓取一个http包,打开后对其中的ip协议进行分析(如果抓不到http数据包可以访问一个http网站(非https)
实验任务3 传输层典型协议数据包的抓取分析
- 抓取 tcp 报文,首先通过 ping www.baidu.com 获取到百度 ip。
- 然后浏览器访问百度(通过ip地址),通过 wireshark 得过滤器过滤 ip.dst eq 112.80.248.75。
- 打开一个 tcp 请求报文进行分析。
- 使用 wireshark 过滤器过滤 UDP 协议。
- 打开一个 udp 报文进行分析。
实验任务4 FTP安全性分析
- 主机A(已启动FTP服务)打开wireshark,选择本地连接开始抓包。
- 主机B使用winscp登陆主机A的FTP服务(或直接资源管理器访问)。
- 主机A使用 wireshark 的过滤器过滤 ftp,可以看到明文显示的登陆情况。
- 右键选择追踪流,tcp 流,可以看到完整的操作。
实验任务5 HTTP/HTTPS安全性对比分析
- 打开wireshark,选择本地连接开始抓包。
- 登陆一个http网站(使用HTTP协议的Web站点,如找不到则可使用之前实训时搭建的靶站)
2、登陆完成后将抓到的流量保存为pcapng文件。
3、打开流量包分析,在包中搜索登录时的用户名。
4、可以发现,在使用HTTP时,数据明文传输,不会进行任何加密。
5、访问一个HTTPS站点,并抓包,保存为pcapng文件。
- 过滤443端口,对HTTPS的访问流量进行分析。
- 客户端向 443 端口发送 SYN 信号,请求连接。
- 服务器回应连接。
- TCP/IP 三次握手完成。
- Client Hello 信号,客户端发送随机数字+自己可以支持的加密方法。
- 服务器 ACK 应答。
- Server Hello 信号,服务器发送随机数字+选择双方都支持的加密方式,这里选择的是TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256。
- Certificate:服务器发送自己的公钥和从 CA 申请的证书;Server Key Exchange:告诉客户端开始转换成对称密钥;Server Hello Done:Server Hello 结束。
- TCP/IP 四次挥手,断开连接。
实验总结
- FTP和SFTP有哪些区别?
-
**FTP和SFTP在安全性、连接端口和效率上存在显著区别,其中SFTP提供了比FTP更高的安全保障**。具体如下:
- **安全性**:SFTP使用SSH协议和端口22建立连接,提供加密和身份验证功能,而FTP使用TCP端口21和20进行通信,不提供加密传输,因此SFTP在安全性方面更优越。
- **连接端口**:FTP使用21端口进行命令传输,20端口进行数据交换,而SFTP则统一使用22端口,并且由于SFTP是基于SSH的,它继承了SSH的安全特性。
- **效率**:由于SFTP提供了加密和更多的安全特性,其传输效率相对于FTP来说可能会稍低。这是因为加密过程需要额外的计算资源。总的来说,SFTP在安全性方面明显优于FTP,尤其是在需要保护数据传输不被窃听或篡改的场景中。而FTP由于其简单和高效的特点,在一些对安全性要求不高的场合仍然有其用武之地。
- HTTP和HTTPS有哪些区别?
-
HTTP和HTTPS确实存在区别。以下是具体分析:
- **HTTP**:即超文本传输协议,是用于传输网页数据的协议,它使用80端口进行数据传输。HTTP协议传输的数据是明文的,这意味着数据在传输过程中可能被截获和篡改,因此安全性较低。
- **HTTPS**:即安全超文本传输协议,它是HTTP的安全版本,通过在HTTP的基础上添加SSL/TLS协议进行加密处理,提高了数据传输的安全性。HTTPS使用443端口,并且在客户端和服务器之间建立了加密的连接,确保了数据的机密性和完整性。总的来说,HTTPS提供了比HTTP更高的安全保障,尤其在互联网上进行敏感信息交换时,使用HTTPS可以有效防止数据泄露和中间人攻击。