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 是一个强大的命令行网络数据包捕获和分析工具,常用于网络故障排查、安全分析和流量监控。

基本用法

  1. 捕获所有流量(默认监听第一个网络接口):
    tcpdump
    
  2. 指定网络接口(例如 eth0):
    tcpdump -i eth0
    
  3. 保存捕获的数据到文件
    tcpdump -w capture.pcap
    
  4. 读取已捕获的流量文件
    tcpdump -r capture.pcap
    
  5. 过滤特定流量(如捕获端口 80 的 HTTP 流量):
    tcpdump port 80
    
  6. 仅显示数据包概要信息
    tcpdump -n -v
    
  7. 查看特定主机的流量
    tcpdump host 192.168.1.1
    
  8. 过滤 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)"

代码分析

  1. -i any
    • 监听所有网络接口(如果你知道具体接口,比如 eth0,可以改为 -i eth0 )。
  2. -n
    • 关闭 DNS 解析,直接显示 IP 地址,提高效率。
  3. src host 192.168.200.4
    • 仅捕获本机192.168.200.4)发出的流量,避免不必要的数据包干扰。
  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)

  1. 23.10.249.154
  2. 23.0.174.24
  3. 34.107.221.82
  4. 101.28.133.120
  5. 60.9.5.121

HTTPS 服务器(端口 443)

  1. 110.242.68.66
  2. 60.221.18.38
  3. 110.242.69.21
  4. 110.242.70.57
  5. 34.117.188.166
  6. 34.107.243.93
  7. 34.149.100.209
  8. 34.160.144.191
  9. 60.6.196.36

这些服务器共同处理了浏览器的请求,因为百度使用了负载均衡内容分发网络(CDN)技术,将请求分发到不同的服务器以提高性能和可靠性。

2.2使用 Wireshark 进行 TELNET 登录 BBS 的嗅探与协议分析

打开 Wireshark** 并选择 本机的网络接口(例如 eth0wlan0)。在

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

实验心得

  1. 在使用snort工具时遇到了些麻烦,原因是对于工具的不熟悉,不知道如何部署规则导致的,后续查阅资料方得到解决。
  2. 嗅探工具会给我们提供很多信息,重要的是如何获取对我们有用的信息,需要多多使用,熟能生巧。
  3. 实验时应该多多思考,要怎么做,为什么这样做,知其然知其所以然。
posted @ 2025-03-19 17:59  别来无恙。。  阅读(15)  评论(0)    收藏  举报