20252913 2025-2026-2 《网络攻防实践》实验三

20252913 2025-2026-2 《网络攻防实践》实验三

1.实验内容

(1)tcpdump 实践

​ 使用 tcpdump 捕获本机访问 www.163.com 的流量,分析访问的 Web 服务器 IP 地址。


(2)Wireshark 实践

  • 使用 Wireshark 捕获 TELNET 登录 BBS 的全过程流量,分析明文传输的账号密码数据。

  • 通过过滤 telnet 协议,可直接找到 BBS 服务器的 IP 地址和默认端口 23。

  • TELNET 以明文逐字符传输数据,每输入一个字符就发送一个 TCP 数据包,无任何加密保护。

  • 在 Wireshark 中 Follow TCP Stream,可在明文流中直接看到完整的登录信息,暴露了 TELNET 协议的安全缺陷。

  • 我学习到了 Wireshark 基础过滤、流追踪、协议解析的核心操作,理解了明文协议的安全风险。


(3)取证分析实践

基于 listen.pcap 流量文件,完整还原了一次端口扫描攻击:

  • 主机定位:

    • 攻击主机 IP:172.31.4.178
    • 蜜罐主机 IP:172.31.4.188
  • 扫描工具识别:

    通过被动指纹工具(p0f),确定扫描工具为 Nmap。

  • 扫描方法与原理:

    • 扫描方式:TCP 半开放扫描(SYN Scan)
    • 原理:攻击者仅发送 SYN 包探测端口,根据目标返回的 SYN+ACK(开放)或 RST+ACK(关闭)判断状态,不完成 TCP 三次握手,具备隐蔽性。
    • 目标端口:覆盖常见服务端口(如 23、80、3306 等)。
  • 开放端口与系统识别:

    • 蜜罐开放端口:通过过滤目标返回的 SYN+ACK 包,提取出所有开放端口。
    • 攻击主机系统:通过p0f操作系统指纹识别工具判断为 Linux 系统。

(4)学习收获

  • 掌握了 tcpdump 和 Wireshark 两种主流嗅探工具的基础使用与流量过滤方法。
  • 理解了 TELNET 等协议的工作机制与安全特性。
  • 学习了流量取证分析的完整过程:1)定位主机 2)识别工具3) 分析行为4) 还原系统。
  • 直观认识到明文协议如 TELNET的安全风险,以及端口扫描在网络攻防中的作用。

(5)知识点总结

  • 网络嗅探基本原理

    网络嗅探是一种用于截获、解析与分析网络数据包的技术。要实现有效嗅探,一般需要将网卡设置为混杂模式,使其可以接收并非发送给本机的数据帧。在交换网络环境下,还需要借助 ARP 欺骗、端口镜像等手段才能完成嗅探。本次实验借助 tcpdump 和 Wireshark 实现了从命令行抓包到图形化分析的完整嗅探过程。

  • Wireshark

    Wireshark 是常用的图形化网络协议分析工具,支持打开 tcpdump 捕获的 pcap 文件,并能逐层解析数据包结构。实验中主要使用其 TCP 流追踪功能,将零散的报文重新组合,清晰还原客户端与服务器之间的完整交互过程。

  • tcpdump

    tcpdump 是 Linux/Unix 平台下经典的命令行抓包工具,性能高效。

  • TELNET

    TELNET 协议 TELNET 是基于 TCP 的远程登录协议,默认使用 23 端口。由于所有数据均以明文传输,账号、密码等信息极易被嗅探窃取,安全性极低。

  • 端口扫描与 Nmap

    端口扫描是网络攻防中信息收集的重要手段,用于探测目标主机开放的端口和运行的服务。实验中攻击者使用 Nmap 实施扫描,其默认采用 TCP SYN 半开放扫描:发送 SYN 包,根据回复判断端口状态,且不完成三次握手,具有较强隐蔽性。

  • p0f 与被动操作系统识别

    p0f 是一款被动操作系统指纹识别工具,不主动发包,仅通过监听流量中的 TTL、TCP 窗口大小、协议选项等特征,判断主机的操作系统版本。

2.实验过程

2.1 动手实践tcpdump

使用tcpdump开源软件对在本机上访问www.163.com网站过程进行嗅探,使用指令:

sudo tcpdump -n src 192.168.200.5 and tcp port 80 and “tcp[13]&18=2”

image-20260330150633508

可以看出,在访问时,浏览器访问了4个Web服务器,他们的IP是:

60.29.234.35

124.95.143.58

23.11.39.161

218.11.11.221

2.2 动手实践Wireshark

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,我登陆的是水木清华的BBS服务器:

luit -encoding gbk telnet bbs.newsmth.net

image-20260330151051247

  • 输入guest以访客进行登录,在wireshark中可以看出,BBS服务器的IP地址为120.92.212.76,TELNET的默认端口为23。

  • Telnet协议采用明文逐字符传输方式,用户每输入一个字符,就会以未加密形式发送到服务器,用户名和登录口令会直接暴露在网络流量中,极易被嗅探窃取。

  • 在 Wireshark 中先通过过滤器筛选出目标流量,选中任意数据包后右键选择Follow → TCP Stream,即可重组完整的 TCP 会话流。由于 Telnet 以明文逐字符传输数据,在流窗口中可直接看到未加密的交互内容,从而获取用户名和登录口令。

image-20260330151715010

2.3 取证分析实践

首先更新软件源,安装被动指纹识别工具 p0f,然后通过tshark命令分别从 listen.pcap 中提取源 IP和目的 IP,经排序、去重计数后按频次倒序排列,可快速定位高频通信的攻击主机与目标主机,为后续流量分析和攻击溯源提供依据。

sudo apt update                                    

sudo apt install p0f                                  

tshark -r listen.pcap -T fields -e ip.src | sort | uniq -c | sort -nr

tshark -r listen.pcap -T fields -e ip.dst | sort | uniq -c | sort -nr

image-20260330183536776

通过wireshark可以看出:

  1. 攻击主机的IP地址是:172.31.4.178
  2. 网络扫描的目标IP是:172.31.4.188

3.本次案例中使用了NMAP发起这些端口扫描,通过以下指令:

p0f -r /root/listen.pcap > result.txt

more result.txt

image-20260330184319219

可以看出,本次扫描使用了NMAP工具。

4.我所分析的日志文件中,攻击者使用了半开放扫描方法:

  • 第一步:在wireshark过滤器输入:

    ip.src == 172.31.4.178 and tcp.flags.syn == 1 and tcp.flags.ack == 0
    

    image-20260330184635662

    会筛选出所有仅含 SYN 标志的 TCP 包,这是典型的半开放扫描特征。

  • 第二步:根据端口状态,目标会返回两种不同的包:

    • 若端口开放,通过指令筛选得到响应包SYN+ACK,目标端口同意建立TCP连接。

      ip.src == 172.31.4.188 and tcp.flags.syn == 1 and tcp.flags.ack == 1
      

      image-20260330184857776

    • 若端口关闭,通过指令筛选得到响应包RST+ACK,目标端口拒绝建立连接。

      ip.src == 172.31.4.188 and tcp.flags.reset == 1 and tcp.flags.ack == 1
      

      image-20260330185034468

  • 第三步:筛选攻击者发送的 RST 中断包,这是半开放扫描的关键特征:攻击者收到响应后,不完成握手,直接发送 RST 包重置连接。

    ip.src == 172.31.4.178 and tcp.flags.reset == 1 
    

    image-20260330185242372

总结:没有后续 ACK 包完成三次握手,扫描方收到响应后直接发送RST 中断连接,这是 SYN 半开放扫描。扫描的目标端口是一系列常见网络服务端口,如 21、22、23、25、53、80、139、3306、8009、8080 等,攻击者通过批量 SYN 扫描,全面探测蜜罐主机的开放端口与运行服务。

找到一个 SYN 包,右键 → Follow → TCP Stream 这个序列就是 TCP 半开放扫描的完整流程,对应这三个步骤。

image-20260330185657573

5.蜜罐主机IP: 172.31.4.188 ,只要看到:172.31.4.188 回复了 SYN+ACK,这个端口就是开放的。打开 listen.pcap, 在过滤器里输入:

ip.src == 172.31.4.188 and tcp.flags.syn == 1 and tcp.flags.ack == 1

image-20260330190233137

可以看到,在蜜罐主机上3306、139、23、80、25、22等端口被发现是开放的。

6.攻击主机的操作系统是Linux 2.6.x

image-20260330190525932

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

  • 问题1:由于错误配置导致kali系统文件损坏
  • 问题1解决方案:对kali虚拟机进行了重装

4.学习感悟

​ 本周通过 tcpdump、Wireshark 进行网络嗅探与流量分析,我切实掌握了数据包捕获、协议解析和攻击行为识别的基本方法。在实践中,我不仅学会了定位攻击主机与目标主机、判断扫描工具与扫描方式,还认识到了 Telnet 明文传输的安全隐患。这次学习让我真正理解网络流量背后的通信原理,提升了网络安全分析与取证能力,也认识到扎实的协议基础和严谨的实践操作对网络安全工作的重要性。

posted @ 2026-03-30 19:11  G116h6  阅读(39)  评论(0)    收藏  举报