20231905 2023-2024-2 《网络攻防实践》实验三
1.实验内容
(1)动手实践tcpdump
使用tcpdump开源软件对在本机上访问 http://www.besti.edu.cn/ 网站过程进行嗅探,回答问题:你在访问 http://www.besti.edu.cn/ 网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?
(2)动手实践Wireshark
使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:
你所登录的BBS服务器的IP地址与端口各是什么?
TELNET协议是如何向服务器传送你输入的用户名及登录口令?
如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?
(3)取证分析实践,解码网络扫描器(listen.cap)
攻击主机的IP地址是什么?
网络扫描的目标IP地址是什么?
本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?
你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。
在蜜罐主机上哪些端口被发现是开放的?
攻击主机的操作系统是什么?
2.实验过程
(1)动手实践tcpdump
将kali虚拟机的网络连接调成桥接模式
使用命令查看本机IP地址
使用tcpdump对本机向外的通信进行抓包,然后再浏览器中访问www.besti.edu.cn。
(2)动手实践Wireshark
输入 luit -encoding gbk telnet bbs.fozztexx.com访问BBS服务器
选择new注册一个账户,设置用户名和密码,然后开启wireshark抓包,重新访问BBS服务器。
可以从ip报头中的得知BBS服务器的ip为50.79.157.209,从tcp报头中得知服务的端口是23。
同时可以发现,telnet是通过一个个字符传输数据的,输入用户名时,在键盘中键入“T”时,telnet协议将“T”传输给服务器,服务器回复“T”回显在命令行中。
通过追踪TCP流也可以看到用户名和密码
(3)取证分析实践,解码网络扫描器(listen.cap)
使用wireshark打开listen.pcap,并统计筛选IPv4
可以看到往返主机172.31.4.178和主机172.31.4.188之间的数据包很多。同时发现都是172.31.4.178向172.31.4.188发送包,然后172.31.4.188给172.31.4.178回复,所以172.31.4.178是攻击机,172.31.4.188是靶机。
使用SeedUbuntu安装snort工具
将listen.pcap复制到/etc/snort/这个路径下,然后在/etc/snort/目录下执行指令“sudo snort -A console -q -u snort -c /etc/snort/snort.conf -r listen.pcap”
可以确定本次案例所使用的扫描工具为nmap。
找arp请求包,寻找目标IP地址为172.31.4.188的主机的MAC地址
以icmp作为过滤条件,可以看到两组ICMP request包和ICMP replay包,说明使用了主机扫描,并且确定了目标主机是活跃的
以tcp作为过滤条件,可以看到在数据包中存在大量SYN请求包,说明攻击机的57738端口向目标主机发起了TCP SYN扫描,以确定目标主机的哪些端口开放,开放的端口则回复SYN|ACK数据包,不活跃的端口则回复RST|ACK数据包
输入过滤条件:tcp.flags.syn == 1 and tcp.flags.ack == 1,即可得到所有的开放端口
使用p0f工具,p0f是一款被动探测工具,能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别,即使是在系统上装有性能良好的防火墙的情况下也没有问题。
在终端先输入“sudo apt-get install p0f”安装p0f
使用如下命令可得到如下结果,攻击主机的操作系统是2.6.x
另外,通过p0f工具也可以确定本案例所使用的扫描工具为nmap,如下所示
3.学习中遇到的问题及解决
- 问题1:无法安装snort
- 问题1解决方案:改为到seed-Ubuntu虚拟机上安装
- 问题2:无法将listen.pcap文件直接复制粘贴到/etc/snort文件夹下
- 问题2解决方案:在终端输入命令“cp Desktop/listen.pcap /etc/snort”实现
4.学习感悟
通过这次实践,了解使用snort,wireshark等工具进行数据包的分析,体验到了网络攻防的乐趣。