20242938 2024-2025-2 《网络攻防实践》第三周作业
实验内容
(1)动手实践tcpdump
使用tcpdump开源软件对在本机上访问www.baidu.com网站过程进行嗅探,回答问题:你在访问www.baidu.com网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
(2)动手实践Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
1.你所登录的BBS服务器的IP地址与端口各是什么?
2.TELNET协议是如何向服务器传送你输入的用户名及登录口令?
3.如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
(3)取证分析实践,解码网络扫描器(listen.cap)
1.攻击主机的IP地址是什么?
2.网络扫描的目标IP地址是什么?
3.本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
4.你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
5.在蜜罐主机上哪些端口被发现是开放的?
6.攻击主机的操作系统是什么?
实验过程
2.1动手实践tcpdump
输入命令sudo apt-get install tcpdump安装tcpdump

tcpdump 是一个强大的命令行网络数据包捕获和分析工具,常用于网络故障排查、安全分析和流量监控。
基本用法
- 捕获所有流量(默认监听第一个网络接口):
tcpdump - 指定网络接口(例如
eth0):tcpdump -i eth0 - 保存捕获的数据到文件:
tcpdump -w capture.pcap - 读取已捕获的流量文件:
tcpdump -r capture.pcap - 过滤特定流量(如捕获端口 80 的 HTTP 流量):
tcpdump port 80 - 仅显示数据包概要信息:
tcpdump -n -v - 查看特定主机的流量:
tcpdump host 192.168.1.1 - 过滤 TCP 或 UDP 流量:
tcpdump tcp tcpdump udp
首先输入ifconfig获取本机ip地址

然后输入sudo tcpdump -i any -n src host 192.168.200.4 and "(dst port 80 or dst port 443)"
代码分析
-i any- 监听所有网络接口(如果你知道具体接口,比如
eth0,可以改为-i eth0)。
- 监听所有网络接口(如果你知道具体接口,比如
-n- 关闭 DNS 解析,直接显示 IP 地址,提高效率。
src host 192.168.200.4- 仅捕获本机(
192.168.200.4)发出的流量,避免不必要的数据包干扰。
- 仅捕获本机(
(dst host www.baidu.com or dst port 80 or dst port 443)- 只捕获发送到
www.baidu.com的数据包。 - 由于
www.baidu.com解析后可能涉及多个 IP,所以保留dst port 80 or dst port 443以捕获所有相关流量。
![]()
- 只捕获发送到
在访问 www.baidu.com 网站首页时,浏览器访问了 14 个不同的 Web 服务器,它们的 IP 地址如下:
HTTP 服务器(端口 80):
23.10.249.15423.0.174.2434.107.221.82101.28.133.12060.9.5.121
HTTPS 服务器(端口 443):
110.242.68.6660.221.18.38110.242.69.21110.242.70.5734.117.188.16634.107.243.9334.149.100.20934.160.144.19160.6.196.36
这些服务器共同处理了浏览器的请求,因为百度使用了负载均衡和内容分发网络(CDN)技术,将请求分发到不同的服务器以提高性能和可靠性。
2.2使用 Wireshark 进行 TELNET 登录 BBS 的嗅探与协议分析
打开 Wireshark** 并选择 本机的网络接口(例如 eth0 或 wlan0)。在
Capture Filter
(捕获过滤器)中输入:
port 23
- TELNET 使用 TCP 端口 23 进行通信,此过滤器仅捕获与 TELNET 相关的数据包。
点击 “Start”(开始),开始数据包捕获。
![]()
使用 TELNET 登录 BBS**
在Kali Linux的终端中运行命令luit -encoding gbk telnet bbs.mysmth.net,访问清华大学BBS。(不知道为什么这么丑)

已经不支持创建新用户了

输入guest以游客身份进入论坛(感觉是很久之前的话题了?)

从wireshark捕获的包数据可以看出BBSip为120.92.212.76,端口为23

- TELNET 协议是 明文传输 的,没有加密。
![]()
取证分析实践,解码网络扫描器(listen.cap)
查找异常的 IP 地址
用wireshark打开listen.apcp,然后在 Wireshark 过滤器栏输入:
ip.src
然后按 Enter,查看所有源 IP 地址。
- 哪个 IP 发送最多的数据包?
- 哪个 IP 访问多个不同端口?
- 是否有一个 IP 反复发送 SYN 数据包?
由图可知攻击者ip为172.31.4.178,被攻击的ip地址为172.31.4.188
![]()
然后通过snort工具来识别攻击者用何种方式进行攻击,在终端输入sudo apt install snort安装snort
![]()
在listen.pcap所在文件夹中单击鼠标右键,选择“在这里打开终端”。
![]()
在终端处输入并运行命令sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap
![]()
图中并没有显示攻击者的攻击方式,我们可以在终端中输入sudo nano /etc/snort/snort.lua来修改snort.lua文件的相关规则让其显示。在ips的{}中找到被注释掉的enable_builtin_rules = true添加该规则
![]()
然后输入snort -c /etc/snort/snort.lua -r listen.pcap -A alert_full,可以看到攻击者采用的攻击方式如下
![]()
从日志中的检测信息来看,攻击者正在执行 Nmap XMAS 扫描,并且尝试扫描目标 端口 1 和 端口 21。
工作原理:
-
XMAS 扫描:Nmap XMAS 扫描通过发送带有 URG、PUSH 和 FIN 标志位的 TCP 数据包,试图诱导目标主机回复不同的响应,以此来判断端口是否开放。
-
由于这种扫描方法发出的数据包看起来像是一个已经终止的连接(因为 FIN 和 URG 被设置),它们可能会被防火墙或 IDS(入侵检测系统)忽视,因为很多网络设备默认情况下不会响应这种类型的包。
-
如果端口处于 开放状态,目标主机会发送 RST (Reset) 数据包以响应。否则,通常不会有响应或者会收到 ICMP unreachable 响应。日志中出现了以下信息:
-
[116:401:1] "(tcp) Nmap XMAS attack detected" -
[116:423:1] "(tcp) TCP has no SYN, ACK, or RST" -
[116:422:1] "(tcp) TCP PDU missing ack for established session"
这些都表明目标主机收到了带有 XMAS 特征的扫描包,且这些包并不符合正常的 TCP 握手和数据流协议。
开放的端口为:
- 端口 1(最常见的端口,通常用于某些基础服务)
- 端口 21(FTP 服务端口)
我们可以通过p0f工具查看攻击者的操作系统,输入sudo apt install p0f安装p0f
![]()
然后输入sudo p0f -r listen.pcap查看攻击者的操作系统为Linux 2.6.x
![]()
实验心得
- 在使用snort工具时遇到了些麻烦,原因是对于工具的不熟悉,不知道如何部署规则导致的,后续查阅资料方得到解决。
- 嗅探工具会给我们提供很多信息,重要的是如何获取对我们有用的信息,需要多多使用,熟能生巧。
- 实验时应该多多思考,要怎么做,为什么这样做,知其然知其所以然。











浙公网安备 33010602011771号