20252904 2025-2026-2 《网络攻防实践》第3周作业

20252904 2025-2026-2 《网络攻防实践》第3周作业

1.实验相关内容

1.1实验要求

  1. tcpdump实践:使用tcpdump工具对本机访问www.163.com网站的过程进行嗅探,确定访问该网站首页时浏览器所访问的Web服务器数量及对应IP地址。
  2. Wireshark实践:使用Wireshark工具对本机以Telnet方式登录BBS服务器的过程进行嗅探与协议分析,明确BBS服务器的IP地址与端口,解析Telnet协议传输用户名和登录口令的机制,掌握利用Wireshark提取明文账号密码的方法。
  3. 取证分析实践:通过Wireshark打开listen.cap抓包日志,完成网络扫描取证,确定攻击主机IP、扫描目标IP、扫描工具、扫描方法及目标端口、蜜罐开放端口和攻击主机操作系统。

1.2相关知识

1.网络嗅探与数据包捕获基础

​ 网络嗅探是指通过抓包工具获取网络中传输的数据帧、数据包,并对其进行分析的过程。常用工具包括 tcpdumpWireshark。前者以命令行为主,适合快速抓包和过滤;后者提供图形化界面,适合对协议字段进行细致分析。抓包分析的核心是从链路层、网络层、传输层到应用层逐层还原通信过程,从而识别通信双方、访问目标、传输内容及异常行为。

2. TCP/IP 协议栈基本结构

网络通信通常建立在 TCP/IP 协议栈之上。
链路层负责主机之间的物理或逻辑链路传输;
网络层主要通过 IP 地址 实现主机定位与路由;
传输层使用 TCP/UDP 端口 标识具体服务;
应用层则承载 HTTP、TELNET、DNS 等具体业务协议。
因此,在抓包分析中,通常需要同时关注 源 IP、目的 IP、源端口、目的端口、协议类型以及载荷内容,才能完整理解一次访问行为。

3. tcpdump 的工作原理与常见用途

​ tcpdump 是基于 libpcap 的抓包工具,能够在网卡上监听网络流量,并按照过滤规则提取指定数据包。它特别适合分析一次网站访问过程中的 DNS 解析、TCP 三次握手、HTTP 请求与响应等内容。
​ 在访问某个网站首页时,浏览器通常并不只连接一个服务器,而可能同时访问:

  • 网站主站服务器;
  • 提供静态资源的服务器;
  • 图片、脚本、样式表所在的 CDN 节点;
  • 页面中嵌入的第三方资源服务器。

​ 因此,通过 tcpdump 可以看到浏览器在加载页面时与多个 Web 服务器建立连接,这也是分析“浏览器访问了多少个 Web 服务器及其 IP 地址”的基础。

4.TELNET 协议及其安全特点

​ TELNET 是一种早期的远程登录协议,默认使用 TCP 23 端口。它允许用户通过网络登录远程主机并进行命令交互。
​ TELNET 的突出特点是:数据通常以明文形式传输。也就是说,用户名、口令、命令输入以及服务器回显内容,往往都直接出现在数据包载荷中。
​ 这也是 TELNET 在现代网络环境中被认为不安全的主要原因,因为攻击者只要能够抓取通信流量,就有可能恢复出登录凭据。

5. 明文认证信息的传输机制

​ 在 TELNET 登录过程中,客户端输入的用户名和密码会通过 TCP 数据段逐字节或逐段发送给服务器。服务器再将登录提示信息和用户输入后的回显内容返回给客户端。
由于没有加密保护,抓包后可以通过以下思路获取凭据:

  • 找到客户端与 BBS 服务器之间的 TCP 会话;
  • 确认登录阶段的数据包;
  • 使用 Wireshark 的“追踪 TCP 流”功能重组应用层数据;
  • 在重组后的明文内容中识别 login:username:password: 等提示及对应输入值。

​ 这一过程反映了明文协议在身份认证上的严重安全隐患。

6. 端口、套接字与会话识别

​ 在通信分析中,一条连接通常由四元组标识:
源 IP + 源端口 + 目的 IP + 目的端口
​ 其中,目的 IP 和目的端口常用来确定服务端身份,例如 TELNET 服务器一般使用 23 端口,HTTP 服务通常使用 80 或 443 端口。
​ 因此,在分析远程登录或网站访问时,判断“登录到哪台服务器、访问了哪个服务”,本质上就是识别会话对应的 IP 地址与端口信息。

7. 网络扫描的基本概念

​ 网络扫描是攻击前侦察的重要环节,其目的是探测目标主机是否在线、开放了哪些端口、运行了哪些服务以及可能使用的操作系统。
​ 扫描的本质是向目标主机发送特定探测报文,然后根据返回结果判断端口状态。常见状态包括:

  • 开放:目标端口有服务监听;
  • 关闭:目标主机可达,但该端口没有服务;
  • 被过滤:中间设备或防火墙阻断,无法明确判断。

扫描分析是取证和入侵检测中的基础内容。

8. 常见端口扫描方法

常见扫描方法包括:

  • TCP Connect 扫描:通过完整建立 TCP 连接来判断端口是否开放,特征明显;
  • SYN 半开扫描:只发送 SYN 并根据响应判断,不完成完整连接,速度快且较隐蔽;
  • FIN/NULL/Xmas 扫描:利用异常标志位组合探测端口状态;
  • UDP 扫描:通过 UDP 报文及 ICMP 不可达响应判断服务状态。

​ 不同扫描方式在数据包特征、隐蔽性和适用场景上不同,因此在日志取证中,需要根据 TCP 标志位、连接过程和端口分布来判断攻击者使用的扫描技术。

9. 操作系统指纹识别

攻击者或分析人员可以根据主机对特定探测报文的响应行为来推测操作系统类型,这一过程称为 OS 指纹识别
常见依据包括:

  • TTL 初始值;
  • TCP 窗口大小;
  • TCP 选项排列方式;
  • 对异常报文的响应模式。

不同操作系统的网络协议栈实现存在细微差别,因此这些差异可以作为系统识别的重要依据。

10. 蜜罐与取证分析

蜜罐是一种故意暴露的诱捕系统,用于吸引攻击者并记录其行为。其核心价值在于:

  • 发现扫描、探测、入侵等攻击活动;
  • 记录攻击路径与技术手法;
  • 为安全研究和应急响应提供证据。

在扫描取证分析中,蜜罐日志和抓包文件能够帮助分析者还原攻击源、攻击目标、扫描策略及攻击者特征,是网络安全实验中的典型研究对象。

2.实验过程

2.1动手实践tcpdump

首先我们打开kali确认自己的IP地址,方便后面确认其他主机的IP地址,打开root权限终端,命令为

ifconfig

image-20260518214222749

sudo tcpdump -n src 192.168.200.6 and tcp port 80 and "tcp[13] & 18 =2"

1. sudo

用管理员权限运行 tcpdump
因为抓包通常需要 root 权限。

2. tcpdump

抓包工具本体。

3. -n

不把 IP 地址解析成域名,不把端口解析成服务名
这样输出会直接显示 IP 和端口,便于分析,比如显示 192.168.200.6.12345 > 8.8.8.8.80,而不是去解析成网址。

4. src 192.168.200.6

只抓取源 IP 地址192.168.200.6 的数据包。
也就是:这些包是 192.168.200.6 发出去的

5.tcp port 80

只看 TCP 协议端口 80 相关的数据包。
这里的 port 80 表示:源端口或目的端口中有一个是 80

结合前面的 src 192.168.200.6,通常就表示:

  • 192.168.200.6 发出
  • 发往某个 Web 服务器的 80 端口

也就是和 HTTP 访问有关的流量。

6. "tcp[13] & 18 = 2"

这是关键。

tcp[13]

表示 TCP 首部中的第 13 个字节,也就是 TCP 标志位(flags)字段

TCP 常见标志位有:

  • FIN = 1
  • SYN = 2
  • RST = 4
  • PSH = 8
  • ACK = 16

18

这里是十进制 18,换成二进制就是:

18 = 16 + 2 = ACK + SYN

也就是掩码 0x12

tcp[13] & 18 = 2

意思是:

  • 取 TCP flags 字段
  • 只关注 SYN 和 ACK 这两位
  • 判断结果是否等于 2

等于 2 说明:

  • SYN = 1
  • ACK = 0

也就是这个包是 仅带 SYN 标志的包,表示:

客户端主动发起 TCP 连接的第一个包

image-20260518214257741

1.浏览器将访问多少个Web服务器?他们的IP地址都是什么?

我们可以观察到,抓住了很多个报文,但都是192.168.200.6.xxxxx > 23.11.39.161.80,说明只访问了一个web服务器,IP地址为23.11.39.161

image-20260518214515425

2.2动手实践Wireshark

我们打开kali,因为要访问BBS服务器,视频中的可能关闭了,在网络中查找了北京邮电大学有效的BBS服务器地址,在终端进行访问。命令为

luit -encoding gbk telnet bbs.byr.cn

image-20260518214716285

在访问时我们打开wireshark,按照照片中步骤打开。并且选择eth0端口。

image-20260518214811912

image-20260518214836449

1.你所登录的BBS服务器的IP地址与端口各是什么?

开启抓包后,我们登录bbs服务器,并且输入guest,进入服务器。

我们可以观察到:

BBS 服务器 IP 地址:114.255.40.186

BBS 服务端口:23

本机的 IP 是 192.168.200.6

本机此次 Telnet 连接使用的临时源端口是 6343

192.168.200.6:6343  →  114.255.40.186:23

2.TELNET协议是如何向服务器传送你输入的用户名及登录口令?

TELNET 是一种明文传输协议
它工作在 TCP 之上,默认使用 23 端口。用户在客户端键入的用户名、密码和后续命令,都会作为 应用层数据 封装进 TCP 报文发送给服务器。

它的传送特点是:

(1)基于 TCP 建立连接

先经过 TCP 三次握手,建立客户端与 BBS 服务器之间的可靠连接。

(2)以明文方式发送输入内容

当输入用户名和密码时,这些字符不会先加密,再发送;而是直接作为字符流放入 TCP 负载中传给服务器。

(3)服务器回显提示信息

服务器会返回诸如:

  • login:
  • username:
  • password:
  • 欢迎信息
  • 菜单界面

这些内容同样也是明文返回,因此抓包时可以直接看到。

(4)密码虽然界面上不显示,但网络里仍可能是明文

有些 TELNET/BBS 登录界面会关闭本地显示回显,所以在屏幕上看不到密码字符;但网络中传输的数据本身仍是明文字符,只要抓到对应的数据包,仍可以从包内容中恢复出来。

image-20260518214931437

3.如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

在搜索框中输入tcp contains "guest",表示筛选所有 TCP 载荷数据中,包含字符串 guest 的数据包

tcp:只匹配 TCP 协议 数据包(排除 UDP/ICMP 等)

contains:Wireshark 关键字,代表「内容里包含某字符串」

"guest":要匹配的明文关键词(访客 / 默认账号常见字段)

image-20260518215249820

这时筛选出一条数据包,只有这一个数据包包含guest字符串,我们打开追踪流观察里面包含的信息。

image-20260518215321733

image-20260518215343843

正常状态下,信息流无法显示汉语,我们调整为GBK,可以更方便的观察到,数据包如何传输的我们的账号情况。

image-20260518215407874

2.3取证分析实践,解码网络扫描器

首先我们准备好从学习通下载的listen.pcap文件。

image-20260518215505842

我们打开pcap相应的地址。命令为ls +地址

image-20260518215649678

使用 apt 包管理器自动安装 Snort,并在安装确认提示时默认同意。命令为apt install snort -y

image-20260518215715367

或者是手动安装(这里跟上图功能是一样的,只按照一个方法做就可以)

安装依赖

apt install -y libpcap-dev libpcre3-dev libdumbnet-dev build-essential

下载并安装

Snort apt install snort-openappid -y

image-20260518220706252

之前因为安装包没安装成功这里重新检查安装的软件是否完整。命令为

apt update --fix-missing && apt install snort -y

含义是:先更新系统的软件包列表,并尽量修复缺失的软件源信息;如果更新成功,再自动安装 Snort 入侵检测软件。

image-20260518220731158

检查是否安装成功

snort -V

含义是查看当前系统中 Snort 的版本信息。

image-20260518221127936

输入指令:

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

listen.pcap 抓包文件中提取所有目标 IP 地址,统计每个目标 IP 出现了多少次,并按出现次数从高到低排序。

image-20260518221248758

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

我们可以在图中观察到连接次数最多的基本上是攻击机的IP地址:172.31.4.178

判断依据

在后面一张图的 p0f 分析结果中,显示了如下会话特征:

172.31.4.178/57738 -> 172.31.4.188/3306 (syn)
client = 172.31.4.178/57738

其中 client 即主动发起连接的一方,也就是扫描发起方,因此攻击主机为 172.31.4.178

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

网络扫描的目标 IP 地址是: 172.31.4.188

判断依据

从包列表和 p0f 输出都能看到,扫描流量的目的地址均为 172.31.4.188,例如:

172.31.4.178/57738 -> 172.31.4.188/3306 (syn)

因此被扫描的蜜罐主机就是 172.31.4.188

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

本次案例中使用的扫描工具是:Nmap

判断依据

输入命令

p0f -r listen.pcap

在下面这张图的 p0f 输出红框中,app 字段已经明确识别出:

app = NMap SYN scan

这说明该流量特征与 Nmap 的 SYN 扫描相匹配,因此可以确定扫描工具为 Nmap

image-20260518221946535

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

为了判断攻击者使用了那种扫描方法,扫描的目标端口是什么。我们用wireshark打开listen.pcap文件

image-20260518222002860

可能有以下扫描方式:

1.SYN 半开扫描

扫描指令为

nmap -sS 172.31.4.188

Wireshark 识别特征

过滤框输入:

tcp.flags.syn == 1 && tcp.flags.ack == 0
tcp.flags.syn==1 && tcp.flags.ack==1

现象:攻击者 IP 向目标 IP*大量发送仅 SYN 标志的 TCP 包*

· 开放端口:目标回复 SYN+ACK

· 关闭端口:目标回复 RST*没有完整三次握手,不建立连接*

工作原理

  1. 攻击者只发 *SYN 连接请求包*
  2. 不完成第三次 ACK 握手,不建立完整 TCP 会话;
  3. 根据对方回复判断端口状态:

o SYN+ACK → 端口开放

o RST → 端口关闭优点:隐蔽、速度快、难被日志记录。

image-20260518222047192

image-20260518222115078

这表示筛出了目标主机返回的 SYN, ACK 响应包。

根据图中 SYN,ACK 的返回,可以明确确认开放的 TCP 端口至少有:

3306, 139, 23, 80, 25, 22, 53, 21, 445, 5432, 8000, 8180

2. UDP 端口扫描

扫描命令

nmap -sU 172.31.4.188

过滤规则:udp

现象:大量 UDP 小包向目标发送。原理:向 UDP 端口发空包,根据 ICMP 端口不可达判断端口关闭;无回应则判定开放。

image-20260518222148241

图中还能看到 1 个 UDP 目标端口:

33097/udp

3.如果还考虑对开放端口进一步探测或识别,实际命令也可能带有其他参数,例如:

nmap -O 172.31.4.188

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

从上图中,能直接看到攻击者扫描的 TCP 目标端口包括:

139, 995, 80, 21, 110, 8000, 5900, 256, 554, 587, 25, 445, 3389, 53, 1723, 135, 1720, 199

结合上图,还能明确看到这些端口也在扫描范围内:

3306, 23, 22, 5432, 8180

第UDP图还能看到 1 个 UDP 目标端口:

33097/udp

所以从截图中可确认,攻击者扫描了多个常见服务端口,主要涉及:

21, 22, 23, 25, 53, 80, 110, 135, 139, 199, 256, 445, 554, 587, 995, 1720, 1723, 3306, 3389, 5432, 8000, 8180

以及:

33097/udp

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

通过下图观察可知是LINUX 2.6.X

image-20260518222226336

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

没问题!一切顺利!!!就是实验做得时间有点长

4.学习感悟、思考等

通过本次实验,我认识到一次网页访问并非单一请求,而是涉及 DNS 解析、TCP 连接、HTTP 通信及多服务器资源加载的复杂过程。在 listen.cap 取证分析中,我掌握了通过 IP、端口、TCP 标志位、响应报文和 ICMP 信息判断扫描行为与端口状态的方法,也认识到网络取证不能只看单个数据包,而要从整体流量中归纳行为模式、还原攻击过程。实验让我知道,工具只是辅助,关键在于理解协议原理和分析思路。通过本次学习,我发现自己在过滤规则组合、扫描方式区分和会话跟踪方面仍需加强,下次实验会做的更好!

posted @ 2026-04-01 13:18  源同学  阅读(30)  评论(0)    收藏  举报