20232805 2023-2024 《网络攻防实践》第3周作业

实践三 网络嗅探与协议分析

1. 实验内容

1.1 网络嗅探

1.1.1 技术定义

网络嗅探(Network Sniffing)是在网络上传输的数据包进行捕获和分析的过程。通过嗅探器,可以监视网络上的流量,识别网络的使用情况、诊断网络问题,并对网络安全威胁进行评估。

1.1.2 原理

网络嗅探的原理基于网络接口卡(NIC)的特殊模式——混杂模式(Promiscuous Mode)。在混杂模式下,网络接口卡会捕获经过它的所有数据包,而不仅仅是发送给该接口的MAC地址的数据包。嗅探器利用这一特性,捕获网络上的数据包,并对这些数据包进行分析,以提取有用信息。

(1)数据包捕获:嗅探器首先在网络上捕获数据包。这些数据包可能包含了源地址、目的地址、传输的数据等信息。

(2)数据分析:捕获的数据包接着被解析和分析。分析可以包括识别协议类型、提取传输数据、检测网络问题或异常等。

(3)日志记录和报告:最后,嗅探器通常会记录分析结果,并可能生成报告,以供网络管理员或安全专家进一步审查。

1.1.3 相关工具
  • Wireshark:Wireshark是最著名的网络嗅探工具之一,提供了强大的数据包捕获和分析功能。它支持多种网络协议,可视化的界面使得数据分析更加直观。
  • tcpdump:tcpdump是一个命令行网络分析工具,它允许用户捕获和分析网络上的数据包。它是许多操作系统中的标准工具,特别适用于服务器和没有图形界面的环境。
  • Snort:Snort是一个开源的网络入侵检测和防御系统,它也具有数据包嗅探的功能。除了捕获和分析数据包外,Snort还可以用来检测网络上的恶意活动和安全威胁。
  • 除此之外,还包括dsniff(Linux)、sniffit(Linux)、snifferPro(Win)等工具。

1.2 协议分析

1.2.1 原理

(1)网络协议的层次结构理解:网络协议分析首先基于对网络协议栈的理解,通常指的是OSI七层模型或TCP/IP四层模型。每个层次定义了不同类型的通信和网络服务,分析人员需要对这些层次及其协议有深入理解。

(2)数据包捕获:协议分析的第一步是捕获网络上传输的数据包。这通常通过将网络接口设置为混杂模式完成,以便捕获流经网络接口的所有数据包。

(3)数据包解析:一旦数据包被捕获,分析工具将解析数据包中的每个层次的信息,包括网络层的IP头、传输层的TCP或UDP头以及应用层的具体协议数据。

(4)流量分析和模式识别:通过对捕获的数据包进行深入分析,可以识别网络流量的模式和趋势,检测网络拥堵、不正常流量或潜在的安全威胁。

(5)协议合规性和性能分析:除了安全分析外,协议分析还包括检查网络协议的合规性、优化网络性能和识别配置错误等。

1.2.2 技术应用

(1)网络故障诊断:通过分析网络协议和数据包,可以定位网络故障的根源,诊断网络延迟、丢包或连接问题。

(2)网络安全:协议分析用于监测和防御网络安全威胁,如入侵检测、恶意软件通信和数据泄露。通过分析异常的网络协议行为,可以识别和阻止安全攻击。

(3)应用性能监控:协议分析有助于理解特定应用的网络行为,监控应用性能,识别和解决网络相关的性能瓶颈。

(4)网络优化:通过深入分析协议交换和流量模式,网络管理员可以优化网络架构和配置,提高网络效率和性能。

(5)合规性审计:在某些行业中,网络协议分析是必要的合规性要求,以确保数据传输遵守特定的标准和法规。

2. 实验过程

2.1 tcpdump

访问dky官网并使用tcpdump进行嗅探

tcpdump "src 192.168.11.185 and tcp dst port 80"

注意这张图里面的地址都是火狐首页那些,dky服务器的地址在后面这张图

58和152开头的才是学校的服务器地址

2.2 Wireshark

先看一下自己IP

尝试访问Level 29: The BBS

telnet bbs.fozztexx.com

wireshark筛选自己IP是源IP和telnet协议

telnet && ip.src == 192.168.10.23

注意右小角,用户和密码的每一位都被分开了:1046xxxxx

2.3 listen.cap和p0f

打开之后,统计——会话——IPv4

可以发现172.31.4.178和172.31.4.188的分组非常多,明显多于其他IP之间的通信,且ACK包都是188发给178的,故172.31.4.178是被攻击者(靶机),172.31.4.188是攻击者。

逆天kali安装的snort没有配置文件,也不触发自动配置的页面,只好用我以前的Ubuntu安装和配置

安装之后给权限

sudo chmod 777 /etc/snort/snort.conf

然后配置网卡名(默认是enp0,我的是enp0s3)和CIDR

然后在listen.cap的目录下运行

sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap进行分析

分析结果很明显是用nmap扫描的

筛选ARP包,可以看到攻击者在广播arp request报文,寻找188的MAC地址

筛选ICMP包,可以看到使用了主机扫描

筛选TCP包,可以看到在数据包中存在大量SYN请求包,说明攻击机的57738端口向目标主机发起了TCP SYN扫描,以确定目标主机的哪些端口开放,开放的端口则回复SYN|ACK数据包,不活跃的端口则回复RST|ACK数据包

猜测攻击者进行了-sV扫描

筛选所有的SYN|ACK的数据包,可以得到靶机的所有开放端口,3306、139等

安装p0f之后进行分析

安装之后在listen.cap目录下运行

sudo p0f -r listen.pcap查看分析结果

可以看到os = Linux 2.6.x

如果用kali,一样安装之后进行分析

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

2.1中Kali虚拟机的网卡不要乱改连接模式,因为在配置环境的时候已经配了静态IP了

tianya.cn上不去

如果电脑装了wireshark,那么可以在本地打开listen.cap,不需要再去虚拟机内打开,但是snort需要在Linux安装,所以避免不了使用Linux。

注意那个工具是p0f而不是pOf,往年实验报告里面很多写错的

tcpdump的指令要加引号

4. 学习感悟和体会

话说不用复旦的校园网能连他们的BBS吗,我在本地也无法连接(防火墙已关闭,telnet客户端功能已开启)

5. 参考资料

- [ChatGPT 4](chat.openai.com)

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值