20253916 2024-2025-2 《网络攻防实践》实验三
1.实验内容
网络嗅探
(1)定义
网络嗅探是一种黑客常用的窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密信息等。
(2)网络嗅探器
实现网络嗅探技术的工具称为网络嗅探器。嗅探器捕获的数据报文是经过封包处理之后的二进制数据,因此通常会结合网络协议分析技术来解析嗅探到的网络数据,这样才能恢复出TCP/IP协议栈上各层网络协议的内容,以及事件发送的应用层信息。
(3)网络嗅探器的原理和实现
以太网工作原理:以太网采用了CSMA/CD技术,由于使用了广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。网卡是网络中主机接收发送数据的硬件设备。网卡完成收发数据包的工作。网卡对于数据的接收有四种模式:
广播模式:该模式下的网卡能够接收网络中的广播数据。
组播模式:该模式下的网卡能够接收组播数据。
直接模式:只有匹配目的MAC地址的。网卡才能接收该数据。
混杂模式:无论其目的MAC地址是什么,网卡都能够接收一切监听到的数据。
网络监听的原理:
利用以太网的特性把网卡置为混杂模式状态的工具,一旦网卡设置为这种模式,它就能接收经过它的每一个信息包。
共享式网络嗅探:使用集线器连接,集线器上任意一台主机都能够嗅探整个集线器上的全部网络流量。
交互式网络嗅探:通过MAC地址映射表来发送数据。通常有以下三种方式实现嗅探:
MAC地址泛洪攻击、MAC欺骗、ARP欺骗
网络协议分析
定义:网络协议分析是网络嗅探器进一步解析与理解捕获数据包必须的技术手段,是指对网络上传输的二进制格式数据包进行解析,以恢复出各层网络协议信息以及传输内容的技术方法。
原理:网络协议分析需要从底向上逐层解析网络协议,同时进行IP分片包以及TCP会话的重组,需要解析与保存各个网络层次上的所有包头字段信息,以及最高层的应用层数据,并提供给用户以了解网络数据包的全方位信息。
技术实现:在开源的软件如Tcpdump、Wireshark和Snort中都有相应源码实现。
网络协议分析工具:Wireshark
2.实验过程
- 动手实践tcpdump
使用tcpdump开源软件对在本机上访问www.163.com网站过程进行嗅探,回答问题:你在访问www.163.com网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
1.打开Firefox浏览器,输入www.163.com进入网页

在kali命令行开启通信抓包访问www.163.com,输入指令如下:
sudo tcpdump -n src 192.168.200.4 and dst host www.163.com

打开终端,观察嗅探结果,如下图:
根据tcpdump抓包结果,浏览器共访问量1个Web服务器,IP地址分别为:124.163.161.96.443

- 动手实践Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
1.你所登录的BBS服务器的IP地址与端口各是什么?
2.TELNET协议是如何向服务器传送你输入的用户名及登录口令?
3.如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
① 使用命令打开清华大学论坛的 Telnet 连接
luit -encoding gbk telnet bbs.mysmth.net
进入论坛的同时启动抓包:

在kali内部打开wireshark,选择eth0网卡进行监听。

启动 Wireshark,选择监听网卡并开始抓包,在 Wireshark 中使用显示过滤器 telnet 进行筛选,发现 120.92.212.76 与本机之间有大量 Telnet 数据往来,可以得出BBS服务器的IP地址为120.92.212.76,端口为23:


② 选择一个包,选择follow,追踪TCP流,选择GBK显示,得到结果:

③
(1)在发起 TELNET 连接前,启动 Wireshark 并监听当前网卡,设置显示过滤器为 telnet。
(2)在终端执行登录操作。该实验,我输入了访客账号 guest成功登录了 BBS 系统如图:

可以得出我们的用户名及登录口令为guest。
由于Telnet是明文传输,我们可以直接用wireshark进行嗅探分析。 由于本次测试使用的是该 BBS 系统的公共访客账号 guest,该账号默认配置为免密码登录。因此在交互过程中,服务器未请求密码,客户端也未发送密码数据,故抓包流中仅包含用户名。
- 取证分析实践,解码网络扫描器(listen.cap)
1.攻击主机的IP地址是什么?
2.网络扫描的目标IP地址是什么?
3.本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
4.你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
5.在蜜罐主机上哪些端口被发现是开放的?
6.攻击主机的操作系统是什么?
前置准备:安装 Snort
Snort 是一款开源的 入侵检测系统(IDS),可对 pcap 文件进行离线规则匹配和统计分析。
sudo su
sudo apt-get update
sudo apt-get install snort

将 listen.pcap 文件准备好,并移动到工作目录下:

用wireshark打开listen.pcap文件:


① 首先发起TCP连接的IP是172.31.4.178,可以判定其为攻击机,所以目标IP是172.31.4.188。攻击主机的IP地址是:172.31.4.178
② 网络扫描的目的IP是:172.31.4.188
③ 本次案例使用Nmap扫描工具发起的端口扫描,输入命令:
sudo snort -r listen.pcap -c /etc/snort/snort.lua -A alert_fast
短时间内同一源 IP 向目标大量不同端口发送 SYN 包,无完整三次握手,大量 SYN 发出、少量 SYN+ACK 返回、绝大多数 RST 响应,端口扫描节奏均匀、无规律,符合 Nmap 默认扫描特征

④
(1)扫描方法
攻击者使用的是 TCP SYN 半开放扫描,对应 Nmap 中的 -sS 扫描方式。
(2)扫描的目标端口
从流量中可以看出,攻击者对目标主机常见服务端口进行了批量扫描,主要包括:21(FTP)22(SSH)23(Telnet)25(SMTP)53(DNS)80(HTTP)139、445(SMB 服务)3306(MySQL)等常见网络端口。
(3)工作原理
攻击者向目标主机的不同端口发送 TCP SYN 包,尝试发起 TCP 连接。
若目标端口开放,目标主机会回复 SYN+ACK 包,表示可以建立连接。
攻击者收到 SYN+ACK 后,不会发送 ACK 完成三次握手,而是直接发送 RST 包断开连接。
若目标端口关闭,目标主机会直接回复 RST+ACK 包,表示端口不可用。
攻击者通过响应包类型判断端口是否开放。
打开wireshark输入过滤
tcp.flags.syn == 1 and tcp.flags.ack == 0
如下图

⑤ 利用命令进行过滤
ip.src == 172.31.4.188 && ip.dst == 172.31.4.178 &&tcp.flags.syn == 1 && tcp.flags.ack == 1

可以观察到有21、22、23、25、53、80、139、445、3306、8009、8180等端口活跃。
⑥
在 Kali 上利用sudo apt install p0f安装p0f工具,并利用该工具进行判断

输入p0f -version查看版本号:

输入p0f -r listen.pcap来查看攻击流量包


3.学习中遇到的问题及解决
- 问题1:看不懂 Snort 输出日志,不知道哪些是正常、哪些是异常,分不清端口扫描特征。
- 问题1解决方案:后面通过网站查阅了解相关项代表什么含义
- 问题2:不知道如何将本地的listen.pcap上传至虚拟机对应文件夹位置中
- 问题2解决方案:直接在kali系统内完成文件的下载
- 问题3:无法从流量中识别攻击行为。
- 问题3解决方案:网站上进行查找。
4.学习感悟、思考等
这次网络攻防安全系列实验,让我彻底跳出了课本理论的纸面框架。在tcpdump 嗅探网页访问的实操中,我打破了 固有认知。此前对 DNS 解析、TCP 三次握手的理解只停留在字段定义和流程图上,直到亲手配置过滤规则,捕获访问天涯网站的全流程流量,才真正看懂了真实网络通信的完整链路:一个首页的加载,会先通过 DNS 查询获取多组 CDN 节点 IP,再分别与多台 Web、静态资源服务器建立连接。我也在海量流量的筛选中,真正理解了每一条过滤规则背后的逻辑,而非机械地照搬命令。Wireshark 嗅探 Telnet 登录的实验,让我对明文协议的安全风险有了切身体会。Telnet 会将我输入的账号密码逐字符明文封装发送,通过 Wireshark 的 TCP 流追踪功能,能直接重组会话、完整提取登录凭证。这个过程让我瞬间读懂了远程管理全面淘汰 Telnet、转向 SSH 加密协议的核心原因。面对listen.cap流量包,我从最初的毫无头绪,到顺着协议特征一步步拆解,锁定了攻击机与目标 IP,通过 SYN 半开扫描的流量特征确定了 nmap 扫描工具,再通过 IP 包头、TCP 窗口等系统指纹锁定了攻击机操作系统。
这次实验最大的收获,从来不是学会了几款工具的用法,而是建立起了核心的 “协议思维” 与 “攻防思维”。我终于明白,互联网通信的基石,同时也是攻防对抗的战场,网络安全就藏在每一个协议细节、每一个端口配置里。这也让我清楚,想要做好网络安全,必须把底层协议学透、把实操基本功练扎实,这为我后续的深入学习指明了核心方向。

浙公网安备 33010602011771号