第三次作业 网络嗅探与协议分析
第三次作业 网络嗅探与协议分析
一、实验内容
本次实验旨在通过实践网络嗅探、协议分析与安全取证三项核心技能,深入理解网络通信机制、经典协议的安全缺陷及网络攻击的识别方法。实验共包含以下三个主要任务:
1.1 基于tcpdump的Web访问嗅探分析
- 主要目标:掌握命令行嗅探工具的使用,分析复杂网页加载过程中的服务器交互。
- 具体内容:在实验主机上,使用
tcpdump工具对访问目标网站首页(如www.163.com)产生的网络流量进行捕获。通过对数据包进行过滤、解析与统计,提取出本次访问过程中所有参与响应的Web服务器的IP地址,并最终确定所关联的服务器数量。
1.2 基于Wireshark的TELNET协议分析与口令还原
- 主要目标:掌握图形化协议分析工具的高级功能,理解明文协议的安全风险。
- 具体内容:使用
Wireshark工具,捕获通过TELNET协议远程登录BBS系统的完整网络会话。通过分析建立连接的数据包,确定BBS服务器的IP地址与端口号。深入观察TELNET协议的数据传输过程,重点分析用户名与口令的传输方式。最后,利用Wireshark的“追踪流”(Follow TCP Stream)功能,从捕获的流量中直接还原出完整的登录凭证(用户名与密码)及交互过程。
1.3 基于Wireshark的网络扫描攻击取证分析
- 主要目标:掌握网络攻击取证的基本流程,学会通过流量特征识别攻击工具、手法与目标信息。
- 具体内容:对提供的网络扫描取证数据包文件(
listen.cap)进行深度分析。首先,通过统计与筛选确定攻击主机与目标主机的IP地址。其次,通过分析扫描数据包的标志位特征(如SYN、RST、ACK),判断攻击者所使用的具体端口扫描技术(如TCP SYN扫描),并描述其工作原理。接着,根据数据包特征(如TTL、窗口大小等)推测攻击主机的操作系统类型。最终,通过分析目标主机的响应包,确定在本次扫描中被发现的开放端口列表,从而完整还原此次网络扫描攻击的全貌。
二、知识点总结
本实验涉及网络数据捕获、协议分析及安全事件取证的核心技术,相关原理如下:
2.1 网络嗅探与工具原理
网络嗅探指捕获并解析网络链路上传输的数据包,是协议分析的基础。关键在于将网卡置于“混杂模式”,以接收流经本网段的所有数据帧。
-
tcpdump:命令行抓包工具。通过BPF过滤表达式精准捕获流量,支持保存为pcap文件供离线分析。
-
Wireshark:图形化协议分析器。除实时抓包外,其核心功能在于深度解码协议、统计流量,并通过“追踪TCP流”功能重组会话内容,直观展示通信过程。
2.2 TELNET协议及其安全缺陷
TELNET是一种基于TCP的早期远程登录协议,默认端口23。其主要特点是所有通信数据(包括用户名和密码)均以明文形式传输,无任何加密保护。这意味着攻击者通过嗅探可直接获取登录凭据。因此,该协议已被更安全的SSH协议取代。在实验中,我们将利用其明文传输特性,通过Wireshark直接还原登录过程。
2.3 端口扫描与网络识别技术
端口扫描是探测目标主机开放网络服务的主要手段。
-
SYN半开扫描原理:
-
扫描器向目标端口发送SYN包。
-
若端口开放,目标回复SYN/ACK,扫描器则回复RST中断连接(不完成三次握手)。
-
若端口关闭,目标回复RST。
该方法因连接不完整而较为隐蔽。
-
-
操作系统指纹识别:
不同操作系统在实现TCP/IP协议栈时存在细微差异,体现在数据包的TTL、窗口大小、TCP选项等字段中。通过分析这些特征,可推测发送主机的操作系统类型。
-
ARP在网络发现中的作用:
在实际扫描前,攻击者常通过发送ARP广播请求来探测同一网段内哪些IP地址有活跃主机响应,从而确定扫描目标范围。这是网络攻击信息收集的常见第一步。
三、实验过程
3.1 动手实践tcpdump
本实验我使用了Seedlab-Ubuntu20.04虚拟机作为实验环境,相关参数为:
IP:192.168.200.3/25
默认网关:192.168.200.1
虚拟机采用VMnet8,NET模式,默认DNS服务器为8.8.8.8
首先输入指令
sudo tcpdump -n src 192.168.200.3 and dst host www.163.com
然后打开www.163.com tcpdump抓包结果如图所示
可知www.163.com的IP地址是221.222.1.443
3.2 动手实践Wireshark
在虚拟机里启动Wireshark,并选择ens33网卡作为监听网卡
同时输入指令luit -encoding gbk telnet bbs.mysmth.net 访问BBS网站
可知BBS论坛的IP地址是120.92.212.76 通信端口是23
进行TCP流追踪可看出虚拟机与网站之间通信是通过telnet协议明文传输的
上图为第一次过滤,将全部telnet包过滤出来
上图为从输入guest字段之前开始过滤,一共10个数据包,收发各5个
选中输入“g”的telnet包之后选择追踪TCP流,结果如上图所示,可见telnet协议在网络中明文传输
3.3 取证分析实践,解码网络扫描器(listen.cap)
使用Wireshark打开 cap文件
可以看出172.31.4.178向172.31.4.188发送了非常多带有SYN标识的数据包,并且目标端口各不相同
可以推测178为攻击机,178向188靶机进行了半开扫描
然后下载snort工具
输入指令
apt-get update
Y
apt-get install snort
等待安装完毕之后查看snort版本
snort --version
安装完毕之后输入指令
sudo snort -c /etc/snort/snort.conf -r /home/seed/Desktop/listen.pcap -A console
分析结果如下图所示
图1
图2
图3
图4
图5
本次攻击使用的应该为nmap工具
在Wireshark中的文件中可以看出
172.31.4.178:57932 -> 172.31.4.188:1 [SYN]
172.31.4.178:57932 -> 172.31.4.188:1 [RST, ACK] ← 目标回 RST → 端口关闭
172.31.4.178:57932 -> 172.31.4.188:1 [RST, ACK]
1172.31.4.178:57932 -> 172.31.4.188:1 [RST, ACK]
...
172.31.4.178:57932 -> 172.31.4.188:1 [SYN] ← 再次探测
172.31.4.178:57932 -> 172.31.4.188:1 [SYN]
172.31.4.178:57932 -> 172.31.4.188:1 [SYN, ACK] ← 目标回 SYN+ACK → 端口开放
172.31.4.178:57932 -> 172.31.4.188:1 [RST, ACK] → 半开扫描特征
这是 Nmap SYN 扫描的经典行为:
步骤:
攻击者发送SYN包
攻击者收到返回的SYN,ACK包,即端口开放
攻击者击者发送SYN包
攻击者收到返回的RST,ACK包,即端口关闭
这是Nmap默认的半开扫描方法
下面过滤返回的开放端口:
将ACK,SYN标志位定为1,TCP包的源地址为172.31.4.188,过滤结果如上图所示
可以看出开放端口为21,23,25,53,80,139,445,8009,8180等等
随后分析攻击机的操作系统
安装p0f工具,输入命令:
sudo apt-get install p0f
进入listen.pcap所在文件夹,输入命令:
p0f -r /home/diven/Downloads/listen.pcap
由这里也能过印证攻击机使用的是Nmap的半开扫描
可见使用的操作系统是Linux 2.6.x
四、学习中遇到的问题及解决
最大的问题就是我的Kali无法稳定的访问外部网络,只有重启之后第一次Ping外部网站能通,第二次Ping就收不到回包
解决方法:换同样是Linux内核的Seedlab-Ubuntu虚拟机环境,该虚拟机访问外部网络较为稳定,后续实验很顺利
五、实验收获
通过本次实验,我对网络协议的工作原理与安全性问题建立了更为深入和具体的认识。在网页抓包分析环节,我通过实际观察一次网页访问所触发的多个对外请求,清晰地认识到现代Web应用服务往往由分布在不同IP地址的服务器共同提供。这一过程让我跳出了抽象的理论,对HTTP协议在真实网络环境中的交互模式有了直观的认知。
在TELNET协议分析部分,我首次亲眼见证了认证信息以明文形式在网络上传输的完整过程。这让我对“明文协议的安全隐患”这一概念产生了前所未有的深刻警醒。任何具备网络访问权限的中间人都可轻易截获并获取这些敏感信息,这使我彻底理解了为何在现代网络通信中,加密技术不再是可选项,而是必不可少的基础保障。
在完成网络扫描日志分析的任务时,我尝试从攻击者的日志记录中逆向推断其扫描策略、探测的目标端口及服务。这一过程锻炼了我进行安全事件分析与初步取证的能力,即如何从碎片化的信息中识别攻击模式、评估系统暴露面,并思考相应的防护切入点。

浙公网安备 33010602011771号