20212811 2021-2022-2 《网络攻防实践》第三次(第5周)作业
一、实践内容
1.网络嗅探技术概述
-
网络嗅探(Sniff),利用计算机的网络接口截获目的地为其他计算机的数据报文(二进制数据),以监听数据流中所包含的用户账户密码或私密信息
-
嗅探技术的危害与作用:
-
一方面对于攻击者可以获得机密信息、底层网络协议信息,有助于中间人攻击。
-
另一方面对于防御方利用网络嗅探找出关心网络中潜在的问题并解决。
-
-
网络嗅探技术与工具分类
-
按照所监听的链路层网络进行分类:
-
有限局域网(Local Access Network,LAN):以太网(Ethernet)::tcpdump
-
无线局域网(Wireless Local Access Network,WLAN):Wi-Fi::Kismet
-
-
按照实现形式进行分类:
-
软件嗅探器(对网卡进行编程的实现):价格便宜或者免费,易于使用,速度慢,不全面
-
硬件嗅探器(协议分析仪):速度快,捕获数据全面,成本高,价格昂贵
-
-
2.网络嗅探的原理与实现
-
以太网(802.3协议)工作原理
-
以太网是共享通信信道的,数据的传播是以“帧”为单位进行的,采用载波侦听/冲突检测技术避免共享链路上的通信冲突
-
网卡(Network Interface Controller,NIC):以太网上的网络接口设备,有48位的MAC地址(发送源的MAC地址、目标MAC地址)
-
混杂模式(Promiscuous Mode):此时网卡能够接收一切通过他连接共享通信媒介的数据帧。(嗅探以太网上的流量,就需要将网卡设为混杂模式)
-
-
共享式网络与交换式网络中的嗅探
-
根据部署方式的不同分为:
-
共享式网络
-
使用集线器(Hub)连接,其网络拓扑是基于总线方式,物理上是广播的。
-
集线器这种工作模式决定了在同一集线器上连接的所有主机在发送数据包时,都会发往每一台主机,因此其中的任一主机都能嗅探整个集线器上的全部网络流量
-
-
交换式网络
-
主要使用交换机组建,数据帧都是通过交换机进行数据转发。
-
交换机接收到数据帧后,转发处理通过MAC地址-端口映射表只允许与目标MAC地址匹配成功的数据包通过交换机,并只转发到特定端口上。(有效避免网络广播风暴,减少数据被嗅探的风险)
-
-
-
-
纯交换网络中,使用如下技术手段使得根本不应到达的数据包到达本地,实现嗅探
-
MAC地址泛洪攻击 (就是给交换机发送大量含有虚构MAC地址和IP地址的数据包,使他的表溢出无法处理,进入“打开失效”模式,开始类集线器的工作方式)
-
MAC欺骗(假冒所要监听的主机网卡,不断更新交换机的表,使原本发给目的主机的数据包,现在发给攻击者,达到数据嗅探的结果)
-
ARP欺骗(利用IP地址与MAC地址之间进行转换时的协议漏洞,达到MAC地址欺骗)
-
-
类UNIX平台的网络嗅探技术实现(主要通过内核态的BPF(Berkeley Packet Filter)和用户态的libpcap抓包工具库的实现)
-
Windows平台的网络嗅探实现技术(需要增加一个驱动程序或网络组件来访问内核网卡驱动中捕获的数据包,内核态虚拟设备驱动程序(NPF):过滤数据包,标准抓包接口(WinPcap))
网络嗅探软件类UNIX平台网络嗅探软件(一般都是基于BPF与libpcap)
libpcap抓包开发
二、实践过程
1.动手实践
(1)动手实践tcpdump
使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
-
先在kail上访问www.tianya.cn网站
(2)使用tcpdump开源软件对在本机上访问www.tianya.cn网站过程进行嗅探,回答问题:你在访问www.tianya.cn网站首页时,浏览器将访问多少个web服务器?他们的IP地址是什么?
- 直接启动tcpdump,将抓取所有经过第一个网络接口上的数据包
(3)访问天涯主页,使用sudo tcpdump src 192.168.200.6and tcp dst port 80
(4)成功得到浏览器访问的Web服务器的IP地址如下:
(5)通过 nslookup tianya.cn
命令查看www.tianya.cn对应的IP地址
2、动手实践Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
你所登录的BBS服务器的IP地址与端口各是什么?
TELNET协议是如何向服务器传送你输入的用户名及登录口令?
如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
(1).输入luit -encoding gbk telnet bbs.fudan.edu.cn(指定编码格式)命令访问复旦大学BBS服务器,得其IP地址为202.120.225.9
(2)在wireshark的过滤器直接输入 telnet ,即可过滤显示telnet相关的数据包,通过查看wireshark里面可知其端口号为23
(3).在终端命令输入guest,作为试用进入
(4)这时候切换至wireshark, 右击202.120.225.9,选择追踪流中的TCP,可以看到密码为guest
3.取证分析实践,解码网络扫描器(listen.cap)攻击主机的IP地址是什么?
-
网络扫描的目标IP地址是什么?
-
本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
-
你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
-
在蜜罐主机上哪些端口被发现是开放的?
-
攻击主机的操作系统是什么?
(1)打开listen.pcap
(2)为了找出重点,我们筛选ipv4,
选择“统计-->IPV4 statistics-->All Addresses”
(3)命令行安装snort
(4)输入指令sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r /home/kali/listen.pcap
通过snort指令所查询的结果可以看出是采用namp发起的扫描,分析得到攻击的IP地址是172.31.4.178,网络扫描的目标IP是172.31.4.178。
(5)nmap每次探测主机活跃是在广播域内广播ARP REQUEST报文,所以要在Wireshark中筛选ARP
(5)第一次扫描在5和6之后,之后又是一次arp,所以第一二次之间没有数据包,所以作用仅为测试主机是否为活跃的,所以第一次命令为nmap -sP。
(6) 接下来确定端口。通过筛选tcp.flags.syn == 1 and tcp.flags.ack == 1
,得到开放的端口有:21 22 23 25 53 80 139 445 3306 5432 8009 8180
(7)用sudo apt-get install p0f安装p0f
三、学习中遇到的问题及解决
问题:加载listen.pcap文件时显示无法连接到文件
解决方案:通过cd /home/kali到达其所在的目录,再使用sudo p0f指令即可连接成功。
四、学习感悟
主要学习与运用了网络嗅探与协议分析的相关技术手段,用到一些新的软件包括tcpdump和snort,掌握到了新的知识,同时通过wireshark对不同数据包进行分析,对wireshark的运用也更加熟练。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~