20252915时进旭 2025-2026-2 《网络攻防实践》第三周作业

注意

首先要把虚拟机网卡设置为桥接模式

image

任务一:动手实践tcpdump

实验内容

使用tcpdump开源软件对在本机上访问www.sohu.com网站过程进行嗅探。

实验过程

查看本机IP地址:

image

sudo tcpdump -n src 192.168.31.120 and tcp port 80 and "tcp[13]&18=2"
命令作用:使用tcpdump工具,-n为禁用反向域名解析,筛选源IP地址为192.168.200.5且TCP协议目标端口为80的数据包
tcp[13]&18=2是一个伯克利包过滤器(BPF)语法,作用是检查TCP标志字段,SYN位必须为1且ACK必须为0,精确匹配了TCP三次握手的第一步的SYN 包

https为443端口,所以稍作更改:
sudo tcpdump -n src 192.168.31.120 and tcp port 443 and "tcp[13]&18=2"

注意是先使用命令再访问页面

访问http://www.sohu.com会自动跳转到https://www.sohu.com:

image

使用目标端口为80的命令:

sudo tcpdump -n src 192.168.31.120 and tcp port 80 and "tcp[13]&18=2"

image

使用目标端口为443的命令:

sudo tcpdump -n src 192.168.31.120 and tcp port 443 and "tcp[13]&18=2"

image

查看域名所对对应的服务器IP:

image

回答问题

你在访问www.sohu.cn网站首页时,浏览器将访问多少个Web服务器?他们的IP地址都是什么?

根据80端口的命令结果,会访问四个服务器:

123.6.195.40
116.196.143.237
23.219.170.59
119.188.204.76

任务二:动手实践Wireshark

实验内容

使用Wireshark开源软件对在本机上以TELNET方式登录BBS进行嗅探与协议分析,回答如下问题并给出操作过程:

(1) 你所登录的BBS服务器的IP地址与端口各是什么?

(2) TELNET协议是如何向服务器传送你输入的用户名及登录口令?

(3) 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

实验过程

复旦大学BBS
https://bbs.fudan.edu.cn/
luit -encoding gbk telnet bbs.fudan.edu.cn
但是此BBS无法连接,因此换用下述BBS:
https://bbs.fozztexx.com/

image

luit -encoding gbk telnet bbs.fudan.edu.cn

image

使用Wireshark监听网卡eth0:

image

在命令行中使用用户名和密码进行登录:

image

使用Wireshark跟踪TELNET的整个通信过程:

image

可以获取到用户名及密码:

image

回答问题

(1) 你所登录的BBS服务器的IP地址与端口各是什么?

我所登陆的BBS服务器的IP地址和端口分别为50.79.157.209:23

(2) TELNET协议是如何向服务器传送你输入的用户名及登录口令?

建立连接后,使用明文传输

(3) 如何利用Wireshark分析嗅探的数据包,并从中获取你的用户名及登录口令?

过滤双方的IP地址,并点击follow追踪TCP流,即可获取

任务三:取证分析实践,解码网络扫描器(listen.cap)

实验内容

(1) 攻击主机的IP地址是什么?

(2) 网络扫描的目标IP地址是什么?

(3) 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?

(4) 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。

(5) 在蜜罐主机上哪些端口被发现是开放的?

(6) 攻击主机的操作系统是什么?

实验过程

Snort

首先在kali上安装Snort:

sudo apt-get update #更新安装源
apt list -a snort #查看可用的snort版本发现现在只有3的版本,和早期博客不一样
sudo apt-get install snort #安装snort
snort --version  #查看snort版本

image

image

这里我的listen.pcap文件是放在/home/ye-jiu/桌面下的:

image

安装完成,使用Snort对listen.pcap文件进行分析:

sudo snort -c /etc/snort/snort.lua -r /home/ye-jiu/桌面/listen.pcap

得到分析的结果,但是版本3的并不能明确查出是nmap的扫描:

image

snort遇到的问题

注意一些博客中版本2.x的snort的默认规则文件为snort.conf,而版本3.x的为snort.lua,且版本3.x删除了-A console的参数后规定默认输出到控制台,所以会产生报错:

snort -A console -q -u snort -c /etc/snort/snort.conf -r ~/listen.pcap 

image

Wireshark

右键使用Wireshark打开listen.pcap :

image

image

查询ARP:

因为nmap会根据arp更新目标MAC地址,因此通过查询ARP地址,即可得到攻击者通过广播的形式查询靶机172.31.4.188的MAC地址

image

查询ICMP:

查询icmp可以发现,攻击机和靶机之间存在双向数据包,说明进行了批量的ping扫描进行主机扫描,以确认目标靶机是否活跃。

image

查询TCP:

可以发现进行了大量的TCP扫描,例如攻击机向靶机发送SYN请求包,靶机返回SYN,ACK确认连接,攻击机响应,说明该端口开放。反之,如果靶机返回RST,ACK,则说明靶机的该端口关闭。

image

tcp.flags.syn == 1 and tcp.flags.ack == 1:

通过查询tcp.flags.syn == 1 and tcp.flags.ack == 1可以得到靶机所有开放的端口,例如有21、22、23、25、53、80、139、445、3306、8180等端口。

image

p0f

首先安装p0f:

sudo apt install p0f 
sudo p0f -r /home/ye-jiu/桌面/listen.pcap #注意根据自己路径调整

image

发现NMap SYN scan:

image

且扫描出客户机OS采用的是linux 2.6.x版本:

image

回答问题

(1) 攻击主机的IP地址是什么?

攻击主机的IP地址为172.31.4.178。

(2) 网络扫描的目标IP地址是什么?

目标IP地址172.31.4.188。

(3) 本次案例中是使用了哪个扫描工具发起这些端口扫描?你是如何确定的?

使用Nmap工具扫描,因为进行了TCP SYN 扫描。

(4) 你所分析的日志文件中,攻击者使用了那种扫描方法,扫描的目标端口是什么,并描述其工作原理。

进行了TCP SYN扫描,扫描了约67657个端口,只有83个端口开放。TCP SYN是采用扫描器向目标端口发送一个SYN包发起连接,如果目标端口开放则会回复SYN-ACK包,扫描器收到后不发送确认ACK包完成三次握手,而是立即发送RST包重置连接;如果端口关闭则目标会直接回复RST包;若无响应则可能被过滤。

(5) 在蜜罐主机上哪些端口被发现是开放的?

蜜罐主机上有21、22、23、25、53、80、139、445、3306、8180等端口是开放的

(6) 攻击主机的操作系统是什么?

攻击主机的操作系统是Linux 2.6.X

posted @ 2026-03-28 22:20  林木LinMw  阅读(2)  评论(0)    收藏  举报