当前位置: 首页 > news >正文

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

1 实验内容

1.1 实践tcpdump

使用tcpdump开源软件对在本机上访问www.163.com

1.2 实践Wireshark

使用Wireshark对在本机上以TELNET方式登录BBS进行嗅探与协议分析

1.3 取证分析实践

解码网络扫描器(listen.pcap),分析攻击主机的IP地址、网络扫描的目标IP地址、使用了哪个扫描工具发起这些端口扫描、哪些端口被发现是开放、攻击主机的操作系统是什么

2 知识梳理

2.1 tcpdump

tcpdump 是一款经典的开源网络抓包分析工具,诞生于 1988 年

抓取的数据包保存到file.pcap:

tcpdump -w file.pcap

读取file.pcap:

tcpdump -r file.pcap

指定监听网卡:

tcpdump -i eth0

过滤端口:

tcpdump port 80

tcpdump portrange 1-1024

过滤协议:

tcpdump icmp

与wireshark相比tcpdump开源,轻量,适合服务器运维实时抓包,wireshark适合对抓取的数据包进行深度分析

2.2 Telnet

Telnet 是一种历史悠久的远程登录协议,诞生于 1969 年
基于 TCP 端口 23,由于传输明文不安全,现已经被SSH取代

2.3 p0f

p0f是一款经典的被动操作系统指纹识别工具,与nmap相比p0f不主动发送数据包隐蔽性更强,但是nmap的准确率高于p0f

3 实验过程

3.1 实践tcpdump

我们使用kali虚拟机打开tcpdump监听,并访问 www.163.com 捕获流量包

ifconfig确定kali的ip地址:

image

sudo tcpdump -n src 192.168.8.5 and tcp port 80 and "tcp[13]&18==2"
使用tcpdump监听原地址为kali,tcp端口80,tcp第13个字节&18=2即具有SYN而没有ACK标志位的数据包

image

如上图所示,我们依次访问了5个服务器ip

3.2 实践Wireshark

打开wireshark,然后访问使用telnet协议访问水木清华

luit -encoding gbk telnet bbs.mysmth.net

luit对返回内容进行gbk编码,以防止出现乱码
如下图所示,我们没有水木清华的账号,所以以游客guest身份登录
image

image

查看wireshark抓取的数据包,可知telnet服务器ip为120.92.212.76,端口为23,接着过滤ip为目标服务器的数据包
image

这里我们看到了以游客身份登录时输入的guest字符,由此可知,当我们输入g时,主机向telnet服务器传送单个字符g,然后服务器向主机返回g
image

接着按照下图操作,查看telnet传送内容
image

可以看到telnet中以明文方式传输,太不安全了!
image

3.3 取证分析实践

在分析listen.pcap之前,我们先通过wireshark抓取nmap扫描数据包,分析nmap各种扫描数据包的特点
我们使用kali扫描metasploitable_linux靶机
首先是主机发现:nmap -sP 192.168.8.6

image

可知-sP使用的是ARP数据包探测是否存在对应ip的主机

全连接扫描:nmap -sT 192.168.8.6 -p 22

image

可以看到,全连接扫描通过TCP三次握手建立连接后使用RST,ACK断开连接

半开扫描:nmap -sS 192.168.8.6 -p 22

image

半开扫描在靶机二次握手之后,使用RST断开扫描

秘密扫描:nmap -sF 192.168.8.6 -p 26

image

秘密扫描通过向指定端口发送FIN数据包,若端口关闭则会发送RST,ACK

端口服务探测:nmap -sV 192.168.8.6 -p 22

image

可以看到,服务探测首先通过半开扫描确定端口是否开放,确定开放之后建立TCP连接,接着通过接收对应服务的数据包确定服务器的版本,最后断开TCP连接。

UDP端口扫描:nmap -sU 192.168.8.6 -p 53

image

操作系统探测:nmap -O 192.168.8.6

image

image

通过分析可知,操作系统探测首先进行半开扫描确定开放的端口,接着发送ping,udp,特殊标记的tcp数据包来探测操作系统的指纹

好!现在我们了解了各种扫描的数据包特点,接下来进行listen.pcap数据包分析。
首先使用p0f分析确定攻击机使用的扫描工具,以及攻击机的操作系统:

sudo p0f -r listen.pcap

可知攻击机使用nmap扫描工具,操作系统为linux

image

使用wireshark打开listen.pcap,筛选arp数据包:

image

可知,攻击机ip为:172.31.4.178,靶机ip为:172.31.4.188。在41、56、61、115时间点进行过4次扫描,由于第一次扫描仅有arp数据包,因此扫描命令为:nmap -sP 172.31.4.188

第二次扫描数据包如图:

image

image

分析可知,符合nmap -O数据包特点

第三次扫描数据包如图:

image

分析可知,是对1-65535端口进行了半开扫描

第四次扫描数据包如图:

image

image

分析可知,数据包符合-sV扫描特点
下面我们过滤数据包,限定为第二次扫描中,靶机回复的SYN,ACK数据包,从而确定靶机开放了哪些端口

ip.src==172.31.4.188&&tcp.flags.ack==1&&tcp.flags.syn==1&&frame.number>=20728&frame.number<133220

image

由此可知,靶机开放了21、22、23、25、53、80、139、445、3306、3632、5432、8009端口

4 学习中遇到的问题及解决

问题:telnet访问水木清华时出现乱码
解决方案:luit -encoding gbk,改为使用gbk编码即可

5 学习感悟

本次攻防实验让我对网络协议与工具有了更立体的认知。在抓包工具的使用中,我体会到tcpdump与Wireshark的差异化定位:tcpdump凭借轻量高效的特性,适合服务器后台长期监控与自动化脚本集成;而Wireshark的可视化分析能力,则让协议细节一目了然。

通过telnet协议访问BBS服务器的实践,我深刻感受到早期互联网协议的"天真"——在ARPANET时代诞生的telnet直接传输明文,用户名、密码、指令全部暴露于网络。这不仅暴露了设计之初对安全性的忽视,也让我理解了为何SSH必须取代telnet成为标准。历史协议的演进轨迹,本质上是一部安全意识的觉醒史。

p0f的被动探测机制则展现了另一种侦察哲学:与nmap的主动构造探测包不同,p0f通过静默监听TCP/IP指纹特征推断系统类型,虽准确率稍逊,却实现了完全隐蔽。这让我认识到,网络安全工具的选择永远在精确性与隐蔽性之间权衡。无论是抓包、扫描还是协议替代,理解底层原理、匹配场景需求,才是攻防实践的核心能力。

http://www.jsqmd.com/news/535142/

相关文章:

  • STM32F746NG按键管理库:轻量级C++状态机设计
  • InSAR处理软件与时间序列分析工具:从商业到开源的全方位指南
  • 【学术写作利器】Academic Phrasebank:从零开始掌握论文核心段落写作
  • 避开KEIL调试大坑:从printf重定向到MicroLIB选择的完整避坑指南
  • RDMA 与RoCE v2
  • Crowbar:赋能创作者的开源游戏开发效率工具
  • 嵌入式硬件脉冲计数器:高精度零丢脉冲实现原理与跨平台实践
  • MinIO桶里文件太多,list_objects卡死?试试这个‘目录管家’方案(附SpringBoot代码)
  • Java 字符串三剑客:String、StringBuilder 与 StringBuffer 深度解析与选型指南
  • 管道导波检测进阶:如何用Comsol优化裂纹识别精度(含最新信号处理方法)
  • 2026-03-25 闲话
  • 超越基础:用rqt_plot+Python脚本实现ROS传感器数据持久化分析
  • C++与SolidWorks二次开发实战:从零绘制基础几何体
  • QoS实战:从原理到企业网络优化配置
  • 手把手教你设计反相输入有源低通滤波器(附Multisim仿真文件)
  • DNSlog花式玩法:从SQL注入到XXE漏洞的7种实战检测技巧
  • mdnice vs 原生编辑器:3个提升微信公众号排版效率的隐藏技巧
  • GLM-4-9B模型服务网格化:Istio集成实战
  • Android 集成第三方地图App的轻量级解决方案(高德、百度及网页版)
  • Qwen3.5-4B-Claude-Opus-GGUF行业应用:新能源电池BMS故障预测逻辑链
  • 单调队列优化多重背包 详解学习笔记
  • Llama-3.2V-11B-cot实战教程:Streamlit界面响应延迟优化与调试
  • 手把手教你用JavaScript实现炉石酒馆战棋战斗模拟器(附GitHub源码)
  • 关于生成器中yield“怪异”用法的理解
  • 从堆叠注入到系统提权:一次BC站点的完整渗透测试剖析
  • 5个实用方法解决Armbian系统版本管理难题:从识别到升级的完整指南
  • OpenCore Legacy Patcher终极指南:从故障排除到高级配置优化
  • yuzu模拟器终极性能优化:突破帧率限制的完整指南
  • 从COCO到你的业务:如何为自定义数据集定义‘小目标’?聊聊mAP_s背后的评估陷阱与调优实战
  • 嵌入式工程师必看:如何用查表法在无FPU的MCU上快速计算log10