第3次作业 实践三 网络嗅探与协议分析

TCPDUMP

在kali终端中使用tcpdump对 www.163.com 进行探测
以下为命令 src 指定源ip地址也就是本机ip 添加其余条件 tcp dst port 为目的地址的端口为80 和 443
同时加-c 命令只截取200个数据包
sudo tcpdump -n src 192.168.5.2 and tcp dst port 80 or tcp dst port 443 -c 200
也可以使用-w 163.pcap 命令将其保存为163.pacp流量包方便放到wireshark中进行分析
以下为部分探测结果
image

访问的 Web 服务器列表

去重后,共访问了 9 个不同的 Web 服务器,其 IP 地址及对应的端口如下:

序号 IP地址 端口 协议
1 151.101.89.91 443 HTTPS
2 34.160.144.191 443 HTTPS
3 1.31.109.92 80 HTTP
4 34.107.243.93 443 HTTPS
5 61.48.83.207 80 HTTP
6 34.107.221.82 80 HTTP
7 36.110.220.121 443 HTTPS
8 60.26.227.196 443 HTTPS
9 218.11.11.230 443 HTTPS

wireshark流量分析telnet协议

telnet bbs.newsmth.net 23
其默认端口为23
笔者已在windows中开启telnet,所以在windows环境下进行测试,(telnet貌似在windows专业版比较方便开?)
打开wireshark进行监听,同时使用cmd命令访问使用telnet协议的论坛网站,在此以清华论坛为例
telnet bbs.mysmth.net 23
抓包过程在之前博客已经写过在此不再重复
使用guest账户登录论坛,登陆后停止抓包,以下为抓包结果使用过滤器过滤出telnet协议
image
右键具体流量可以选择追踪->tcp流最终显示结果如下:
本图片中可以观察到整个流程中所有的数据包以ASCII码显示
image
其中这里使用的是guest账户登录,可以在数据包中查看到guest明文字段,对于第一个guest其实是为提示词,
真正传输与接收到的实际上是字符串
gguuss.. .eesstt
在实验过程中,可能会观察到用户名出现重复显示(如gguuss..tt)的现象,原因如下:

现象 原因
字符重复(如gg、uu) 本地回显与远程回显叠加
字符顺序错乱(如s先于e出现) 网络延迟不均导致回显包乱序到达
出现..符号 回车符(\r\n)的回显,或Telnet控制命令的显示

Telnet协议的安全缺陷

缺陷 说明
明文传输 所有数据(含用户名、密码)未经加密,可直接读取
无身份验证机制 无法验证服务器身份,容易遭受中间人攻击
逐字符传输 增加被嗅探的风险,每个按键都可被捕获

通过本次实验,验证了Telnet协议以明文方式传输用户名和密码的特性。使用Wireshark可以轻松捕获并还原用户的登录凭据,充分证明了Telnet协议在现代网络环境中的不安全性,也说明了为何需要采用SSH等加密协议替代Telnet。

取证分析实践,解码网络扫描器(listen.cap)

wireshark打开流量包后默认以时间顺序进行排序首先看到arp协议的身影:
ARP协议对172.31.4.188进行查找,随后将ip返回致172.31.4.178
image
接着往下翻,发现异常流量:178地址的主机对188地址发送了大量数据包,而对于正常的业务逻辑来说,正常用户不会短时间内发送大量的tcp包,只有一种可能就是扫描。
所以攻击IP为172.31.4.178 而靶机IP为172.31.4.188
image
使用过滤器
ip.src==172.31.4.178 && ip.dst==172.31.4.188
下方发现了大量的tcp数据包,同时还发现数据包中含有
[SYN]Seq=0 Win=4096 Len=0 MSS=1460
Win字段为1024,2048,3072与4096
Len为0,MSS段为1460
image
可以初步推测为NMAP扫描,而MSS段为1460
经查询得知:

特征 含义 Nmap扫描中的表现
MSS=1460 TCP最大段大小选项,通常出现在SYN包中协商MTU Nmap在SYN包中固定携带MSS选项,值为1460
Len=0 数据包负载长度为0,没有payloa Nmap默认扫描不携带数据负载
Seq=0 TCP序列号为0(相对值) Nmap扫描包的初始序列号固定为0(或随机化但Wireshark显示相对值)
Win=1024/2048/4096 TCP窗口大小为1024、2048或4096字节 Nmap SYN扫描的窗口值是固定的小整数,正常操作系统通常使用更大的窗口(如8192、16384、65535等)

MSS=1460、Len=0、Seq=0、Win 为 1024/2048/4096 等较小固定值,是Nmap SYN 扫描(默认的 -sS 模式)的明确指纹。
image
那么我们还差攻击主机的os没有确定,对于TCP来说

  • TTL ≈ 64:扫描机很可能是 Linux / Unix / macOS
  • TTL ≈ 128:扫描机很可能是 Windows
  • TTL ≈ 255:扫描机很可能是 Solaris / 某些网络设备
    我们双击流量点开找到以下位置,大量的tcp包的TTL都在64左右可以初步推断为linux系统
    image

接下来我们需要找到,靶机到底开放了哪些端口使用过滤器
tcp.flags.syn == 1 and tcp.flags.ack == 1 and ip.src == 172.31.4.188
该命令只查找syn字段为1,同时ack为1的tcp流量包,在这种情况下我们设置源地址为靶机地址,也就是说我们需要判断哪些靶机端口回应了扫描。
点击wireshark上方的统计,找到端点
image
我们选择TCP,并勾选下方的显示过滤器限制
image
找到地址为172.31.4.188的信息,具体端口在下方显示,很明显存在3306端口,而3306端口默认为mysql服务
395fc2024e03ef4aa7cb576afc66cb62

Nmap SYN -Ss 半开放扫描原理

正常TCP三次握手
image

Nmap SYN扫描-Ss
image

实验收获总结

通过本次Wireshark流量分析实验,我掌握了以下内容:

  1. 理解Nmap SYN扫描原理

掌握了半开放扫描的工作机制(SYN → SYN-ACK → RST,不完成三次握手)

学会了根据响应类型判断端口状态(SYN-ACK=开放、RST=关闭)

  1. 识别扫描流量特征

能够识别Nmap扫描的典型指纹:窗口值1024/2048/4096、Len=0、MSS=1460

学会了通过TTL值反推操作系统(TTL=46说明扫描机为Linux系统,经过约18跳)

  1. 掌握Wireshark分析技能

熟练使用过滤器定位扫描包、开放端口和RST包

能够结合统计功能生成端口列表,快速判断哪些端口开放

posted @ 2026-03-24 11:24  Maxn_Rain  阅读(18)  评论(0)    收藏  举报