#20251913 2025-2026-2《网络攻防实践》实验三

1.实验内容

1.1 实践tcpdump进行嗅探

tcpdump 是一款开源的命令行网络嗅探工具,基于 libpcap 库实现,可在 Linux、Unix 及 macOS 等系统中捕获并分析网络接口上的数据包。其核心功能是抓取网络链路层到应用层的数据包,支持对 TCP/IP 协议栈各层数据的解析,广泛应用于网络故障排查、协议分析、安全审计等实验与工程场景。
tcpdump 的工作原理为:通过将网络接口设置为混杂模式(Promiscuous Mode),突破常规仅捕获目标主机数据包的限制,接收同一局域网内所有流经该接口的数据包;再根据用户设定的过滤规则,筛选出符合条件的数据包并进行解析输出。

1.2 Wireshark嗅探与TELNET协议

TELNET(Teletype Network)是一种基于 TCP 的应用层协议,用于在网络中实现客户端与远程服务器的交互式命令行通信,属于典型的明文传输协议。其默认使用 TCP 23 号端口建立连接,采用客户端 / 服务器(C/S)架构。
Wireshark 是一款开源的图形化网络协议分析工具,底层同样基于 libpcap 库实现数据包捕获。其核心流程如下:

  • 将指定网络接口设置为混杂模式,捕获流经该接口的所有数据包(需管理员权限)。
  • 根据用户配置的过滤规则,筛选出与 TELNET 相关的数据包(基于 TCP 23 号端口识别)。
  • 对捕获的 TELNET 数据包进行协议栈分层解析,从链路层、网络层、传输层到应用层,提取每个层级的关键字段。
  • 以可视化形式展示解析结果,支持查看原始数据包内容、会话流跟踪、数据统计等功能。

1.3 kali中Snort、p0f 等工具

Snort:一款开源的网络入侵检测系统,支持实时流量分析、数据包日志记录、基于规则的攻击检测(如端口扫描、SQL 注入、DDoS 等),广泛应用于网络安全监控与入侵告警场景。
p0f:一款被动式操作系统指纹识别工具,无需主动发送数据包,仅通过分析目标主机的 TCP/IP 协议栈特征,即可判断目标主机的操作系统类型、版本,甚至设备类型,具有隐蔽性强、无交互的特点。
使用sudo apt update && sudo apt install snort -y安装 Snort,并在 Kali 终端执行以下命令,导入缺失的 GPG 公钥:wget -q -O - https://archive.kali.org/archive-key.asc | sudo apt-key add -
执行以下命令,在kali中安装p0f
sudo apt update sudo apt install p0f tshark -r listen.pcap -T fields -e ip.src | sort | uniq -c | sort -nr tshark -r listen.pcap -T fields -e ip.dst | sort | uniq -c | sort -nr

2.实验过程

2.1进行实践tcpdump

通过sudo su 切换到 root 用户,再输入ifconfig查看kali机的ip地址为192.168.200.4
image
再在浏览器中访问 www.baidu.com。观察记录的内容,可以看到,第一项为打开浏览器时的记录,然后在访问到百度网时,可以看到经过的web服务器地址.
在kali中输入tcpdump -n src 192.168.200.4 and tcp port 80 and "tcp[13] & 18 =2"
7fd18167b8936d14f1d39c1656982b80

2.2进行实践wireshark

打开wireshark,点击eth0,通过luit -encoding gbk telnet bbs.mysmth.net进入清华大学BBS论坛,输入guest进行登录
412b63f3472311247bd36470a8468a35
点击红框停止wires hark的抓包
9cd94941327dd9faa039235b19ecace2
在过滤器中输入telnet对数据包进行过滤,可以看到登录的BBS服务器IP地址是120.92.212.76,端口是23
89b8fc7bdc0f20cce2309e3d5505ad42

随机选择一个记录并选择追踪TCP流
6a09009e5f7f8dfd090cf7dee0f6443b
在 eth0 网卡捕获网络流量,筛选出目标 TCP 流后,使用「Follow TCP Stream」功能还原完整通信过程。
b95d12e8528c1268dd446a8f0ebd9776

2.3取证分析实践

用wireshark打开listen.pcap文件,可以观察到172.31.4.178为攻击机IP地址,172.31.4.188为网络扫描的目标IP地址。
1d385200041c0bde6bb9db993482b340

在 Kali 终端执行以下命令,更新软件源并安装 Snort:sudo apt update && sudo apt install snort -y
我的Kali 软件源缺失 GPG 公钥,在 Kali 终端执行以下命令,导入缺失的 GPG 公钥:wget -q -O - https://archive.kali.org/archive-key.asc | sudo apt-key add -
c182e88fe57c83f42a9a5c4a40e4b530
安装 Snort,输入sudo apt install snort -y安装过程中按提示完成。重新更新软件源sudo apt update不出现 GPG 错误,更新正常完成
6ba873dd3321d8d8c64bd765b8b18650
5632967bc8b005d5d2cdbd974ffed558
e6d59670c832fd1782dc61738c78e02e
2b10bacec393429ddd5baa0b196e37a4

在终端输入sudo snort -v -c /etc/snort/snort.lua -r listen.pcap执行
18eb4cf32127c8cf63108e754b314bdb
Snort 日志检测到 tcp_scans 端口扫描行为,且加载了 Nmap 扫描识别规则
8bb83d041c169e172fec93e52c70a8fd
通过指令tcp.flags.syn == 1 and tcp.flags.ack == 1可以看到有哪些端口是开放的活跃的。有3306,139,23,80,25,22,53,21,445,5432,8009,8180
4bc8bfc7ad3360302dd1cfe09a543faf
在kali中安装p0f,并执行以下命令sudo apt update sudo apt install p0f tshark -r listen.pcap -T fields -e ip.src | sort | uniq -c | sort -nr tshark -r listen.pcap -T fields -e ip.dst | sort | uniq -c | sort -nr
185dc07c75bc793c6c88ece6ad15f139
1916cb170c754b7ef4e94ca45f391fc9

在listen.pcap所在文件夹进入终端,通过下面的命令查看攻击机的操作系统为2.6.x
360409f3c8a6f3ebc0084b8952873881

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

  • 问题1:在终端输入sudo apt update && sudo apt install snort -y并不能安装Snort

  • 解决方案:分析输出的内容发现缺少 GPG 公钥,只需要在安装的时候再执行wget -q -O - https://archive.kali.org/archive-key.asc | sudo apt-key add -这个指令就可以导入缺失的公钥

  • 问题2:在kali中安装p0f中时,直接执行apt-get install p0f会出现以下结果
    image

  • 解决方案:进过分析结果获得以下结论: Kali Linux 系统中执行时出现的权限不足错误,在 Debian/Ubuntu/Kali 等基于 APT 的系统中,安装、升级、删除软件包需要管理员(root)权限,普通用户无法操作/var/lib/dpkg/下的系统文件,因此会触发权限拒绝。分析完原因之后通过执行sudo apt update sudo apt install p0f tshark -r listen.pcap -T fields -e ip.src | sort | uniq -c | sort -nr tshark -r listen.pcap -T fields -e ip.dst | sort | uniq -c | sort -nr这条命令安装好了p0f。

  • 问题3:kali一开始无法读取IP地址

  • 解决方案:经过查询网络设置发现是桥接模式,改为NAT模式就好了

4.学习感悟

本次网络嗅探与取证分析实验,通过实操tcpdump、Wireshark两款开源工具,结合取证分析案例,让我从理论走向实践,深入理解了网络协议的运行机制、网络嗅探的原理与应用,更体会到网络安全领域“攻防对抗”的严谨性与专业性,收获颇丰且深受启发。
取证分析实践是本次实验中最具挑战性也最具收获的环节。解码网络扫描器日志、分析攻击行为,需要将前期学到的嗅探技巧与网络攻击原理相结合。在查找攻击主机与目标主机IP地址时,我通过筛选日志中的源IP和目的IP,快速锁定了关键信息;而在判断扫描工具和扫描方法时,我通过分析数据包的特征、端口扫描的规律,结合所学的网络扫描知识,成功识别出扫描工具及对应的扫描方式,并理解了其工作原理。
通过本次实验,我不仅熟练掌握了tcpdump和Wireshark两款常用网络工具的使用方法,更实现了网络理论知识与实践操作的深度融合,对网络协议、网络嗅探、网络攻击与取证有了更全面、更深入的理解。

posted @ 2026-04-02 13:25  山楂糖葫芦  阅读(26)  评论(0)    收藏  举报