20253919 2024-2025-2 《网络攻防实践》实验三

一、实验内容

  1. 使用tcpdump对www.163.com
  2. Wireshark对BBS嗅探
  3. 分析扫描记录

二、实验过程

1. 使用tcpdump命令进行嗅探

首先获取root权限,然后使用命令
tcpdump -n -i eth0 src 192.168.200.4 and 'tcp port 80 or tcp port 443' and 'tcp[13] & 2 != 0'
同时打开163.com,
可以看到已成功嗅探到记录
image
根据抓包日志分析,浏览器访问的Web 服务器总数为 30 台,对应的 IP 地址如下:

  • 34.160.144.191
  • 146.75.45.91
  • 45.113.20.60
  • 114.250.69.33
  • 34.107.243.93
  • 34.107.221.82
  • 151.101.89.91
  • 60.29.234.35
  • 60.26.227.199
  • 36.110.220.121
  • 125.37.133.183
  • 220.197.30.48
  • 60.9.0.234
  • 220.197.30.52
  • 220.197.30.54
  • 45.113.20.22
  • 45.113.20.26
  • 110.242.68.129
  • 150.138.110.36
  • 111.206.208.190
  • 125.37.133.195
  • 218.68.136.49
  • 119.249.103.5
  • 59.110.122.164
  • 150.138.110.35
  • 221.204.61.38
  • 220.197.35.208
  • 218.11.11.225
  • 151.101.129.91
  • 34.49.51.44

2. wireshark监听BBS登录过程

打开wireshark,选择eth0进行监听
image
输入luit -encoding gbk telnet bbs.mysmth.net进入清华BBS,输入账号密码
image
通过分析telnet数据包,可以看到BBS服务器IP地址是120.92.212.76,端口是23
Telnet 协议采用明文方式传输数据,客户端与服务器通过 TCP 23 端口建立连接后,服务器依次发送登录名和密码提示,用户输入的用户名和登录口令均以明文形式在网络中传输,无任何加密保护。具体步骤为:

  • 建立连接:客户端(如 telnet.exe)通过 TCP 协议 23 端口与服务器建立连接。
  • 交互协商:双方协商终端类型、回显模式等参数。
  • 登录提示:服务器发送 login: 提示,客户端输入用户名并回车。
  • 密码提示:服务器发送 Password: 提示,客户端输入密码并回车(本地通常不回显字符,但网络上仍明文)。
  • 权限验证:服务器验证凭据,成功则进入 Shell,失败提示重试。
    通过追踪tcp包流,即可在其中找到我的账户名和对应的密码
    image

3. 分析监听文件

由于之前安装过snort,这里不再安装
具体命令为sudo apt-get install snort
将下载好的listen.pcap文件移动到/etc/snort中
使用命令sudo snort -c snort.lua -r listen.pcap -A alert_full 直接读取已保存的网络抓包文件
image
使用命令sudo apt install p0f,离线分析 PCAP 抓包文件
image
对记录进行分析
攻击主机ip:172.31.4.178
目标主机ip:172.31.4.188
攻击主机操作系统:Linux 2.6.x,判断理由:日志里出现了
os = Linux 2.6.x
raw_sig = = 4:64+0:0:1460:mss*4,6:mss,sok,ts,nop,ws:df,id+:0
p0f 就是靠这个 raw_sig 字符串来匹配操作系统指纹库,判定是 Linux 2.6.x
image
通过一开始的记录中app = NMap SYN scan判断是nmap工具
攻击者使用的扫描方法:TCP SYN 扫描(半开放扫描)
理由:日志中存在记录
(syn)
client = ...
(syn+ack)
server = ...
大量syn与syn+ack成对出现
没有ACK完成握手,典型半开放扫描
从日志中可明确看到目标端口:
25(SMTP)
80(HTTP)
53(DNS)
139/445(SMB)
5432(PostgreSQL)
8009、8180(Web 服务)
工作原理:

  • 攻击者只发送 TCP SYN 包,不完成三次握手
  • 目标端口开放:回复 SYN+ACK
  • 目标端口关闭:回复 RST
  • 攻击者收到应答后立即发送 RST 断开连接,不建立完整会话

image
在 Wireshark 中,TCP半开放扫描下:
目标端口开放:服务器会回复 SYN, ACK 包
目标端口关闭:服务器会回复 RST, ACK 包
我们只需要找出所有被回复 SYN, ACK 的目标端口即可。

  • 53 → 57738 [SYN, ACK] → 53 端口开放
  • 25 → 57738 [SYN, ACK] → 25 端口开放
  • 23 → 57738 [SYN, ACK] → 23 端口开放
  • 139 → 57738 [SYN, ACK] → 139 端口开放
  • 445 → 57738 [SYN, ACK] → 445 端口开放
  • 5432 → 57738 [SYN, ACK] → 5432 端口开放
  • 8009 → 57738 [SYN, ACK] → 8009 端口开放
  • 8180 → 57738 [SYN, ACK] → 8180 端口开放

三、学习中遇到的问题及解决

  • 问题1:无法成功使用snort解读listen文件
  • 问题1解决方案:修改命令中的正确文件位置得以解决

四、学习感悟、思考

通过本次端口扫描与流量分析案例的学习,我不仅掌握了tcpdump嗅探、p0f 被动指纹识别和Wireshark 流量解析的核心技能,更深刻理解了网络攻击的典型行为模式。从识别攻击主机与目标主机的操作系统,到判断 Nmap 发起的 TCP SYN 半开放扫描,再到依据 SYN/ACK 与 RST/ACK 报文区分开放端口,整个过程让我明白:网络攻防的本质是对流量特征与协议细节的融会贯通。

posted @ 2026-03-25 16:49  晓月12  阅读(8)  评论(0)    收藏  举报