《计算机网络》实验报告——使用SNORT观察网络数据包和TCP连接

实验名称:使用SNORT观察网络数据包和TCP

实验地点

所使用的工具软件及环境:

Windows ,snort、winpcap

 

 

 

一、实验目的:

通过本实验,熟悉SNORT的使用,通过抓包分析,进一步加深对协议工作过程的理解。

二、实验内容:

  1.   学会安装使用自由软件SNORT
  2. 截获以太网数据包,并分析和描述TCP连接的三个阶段。
  3. 截获ARP协议数据包并进行分析

 

三、实验步骤:

第一部分 安装snort

  1. 下载snort-2_0_4.exe 网址:http://www.snort.org/dl/binaries/win32/snort-2_0_4.exe
  2. 下载WinPcap_3_0.exe  http://winpcap.polito.it/install/bin/WinPcap_3_0.exe
  3. 安装snort和winpcap
  4. 打开DOS命令窗口COMMAND。进入snort的安装目录。cd /snort/bin
  5. 执行snort –ev 出现以下屏幕,表示安装完成并能正常使用
  6. 用ctrl +C结束。
  7. 观察一个完整的TCP连接。

第二部分 观察TCP连接

1、在snort的工作目录中使用命令

snort  –dev  –l  /snort/log

开始snort并将相应的log文件记录在log目录下。

2、另开一个命令窗口,键入命令

FTP ftp.zist.edu.cn

3、观察ftp命令窗口

4、打开相应的log目录

5、查找到相应的TCP连接,并用文本分析器打开。对照ftp命令窗口中出现的结果,分析刚才的TCP连接过程。

第三部分 观察ARP协议

1、同二,打开SNORT并记录。

2、在另一命令窗口执行以下命令:

arp –a 观察高速缓存

telnet 192.168.0.3 discard 注:和一个在ARP缓存中不存在的主机进行telnet连接。

quit

4、分析所捕获的数据包,并且写出arp的全过程。

 

四、实验结果与数据分析:

第一部分 安装snort

1、下载Snort_2_9_16_Installer.x86.exe

网址:https://snort.org/downloads/snort/Snort_2_9_16_Installer.x86.exe

2、下载WinPcap_4_1_3.exe

网址: https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe

3、安装snort和winpcap

4、打开DOS命令窗口COMMAND。进入snort的安装目录。cd /snort/bin

5、执行snort –ev 出现以下屏幕,表示安装完成并能正常使用

6、用ctrl +C结束。

7、观察一个完整的TCP连接。

第二部分 观察TCP连接

1、在snort的工作目录中使用命令

snort  –dev  –l  /snort/log

开始snort并将相应的log文件记录在log目录下。

2、另开一个命令窗口,键入命令

             FTP ftp.zist.edu.cn

3、观察ftp命令窗口

4、打开相应的log目录

5、查找到相应的TCP连接,并用文本分析器打开。对照ftp命令窗口中出现的结果,分析刚才的TCP连接过程。

TCP连接过程分析

分析TCP连接的开始和终止过程,TCP连接的每一数据报报文的作用分析。

 

192.168.123.88        10.16.23.2       TCP  66    1843 → 21 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=1 SACK_PERM=1

(先是本机向对方主机192.168.1.102发出连接请求报文段,这时首部中的同步位SYN=1,同时选择一个初始序列Sequence number (raw): 4250625629,记为x)

 

10.16.23.2        192.168.123.88       TCP  66    21 → 1843 [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1460 WS=1 SACK_PERM=1

(对方主机收到连接请求报文段后,如同意建立连接,则向本机发送确认,SYN位和ACK位都置1,确认号ack=x+1,即Acknowledgment number (raw): 4250625630,同时也为自己本机选择一个初始序号Sequence number (raw): 3203977215,记为y)

 

192.168.123.88        10.16.23.2       TCP  54    1843 → 21 [ACK] Seq=1 Ack=1 Win=8192 Len=0

(本机接收到对方主机的确认后,还要向对方主机给出确认,ACK置1,确认号ack=y+1,而自己的序号seq=x+1)这样三次握手结束

 

192.168.123.88        10.16.23.2       TCP  54    1843 → 21 [FIN, ACK] Seq=55 Ack=141 Win=8052 Len=0

(数据传输结束后,通信的双方都可释放连接,现在双方都处于ESTABLISHED状态,对方主机先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接,FIN置1,Sequence number (raw): 4250625684,记为u, Acknowledgment number (raw): 3203977356,记为w)

 

10.16.23.2        192.168.123.88       TCP  60    21 → 1843 [ACK] Seq=141 Ack=56 Win=65481 Len=0

(本机收到连接释放报文段后即发出确认,确认号ack=u+1。)

 

10.16.23.2        192.168.123.88       TCP  60    21 → 1843 [FIN, ACK] Seq=141 Ack=56 Win=65481 Len=0

(若本机已经没有要向A发送的数据,其应用进程就通知TCP释放连接,这时FIN置1,本机还必须重复上次已发送过的确认号ack=u+1)

 

 

192.168.123.88        10.16.23.2       TCP  54    1843 → 21 [ACK] Seq=56 Ack=142 Win=8052 Len=0

(对方主机在收到本机的连接释放报文段后,必须对此发出确认,ACK置1,seq=u+1,ack=w+1)

 

观察TCP连接中的交互式的输入,分析键入用户名和密码时的数据报文。

192.168.123.88        10.16.23.2       FTP  72    Request: USER 20200616888

(输入用户名)

 

10.16.23.2        192.168.123.88       TCP  60    21 → 1843 [ACK] Seq=61 Ack=33 Win=65503 Len=0

(确认报文)

 

10.16.23.2        192.168.123.88       FTP  90    Response: 331 User name okay, need password.

(用户名存在回复)

 

192.168.123.88        10.16.23.2       TCP  54    1843 → 21 [ACK] Seq=33 Ack=97 Win=8096 Len=0

(确认报文)

 

192.168.123.88        10.16.23.2       FTP  70    Request: PASS zjlgdx110

(输入密码)

 

10.16.23.2        192.168.123.88       TCP  60    21 → 1843 [ACK] Seq=97 Ack=49 Win=65487 Len=0

(确认报文)

 

10.16.23.2        192.168.123.88       FTP  84    Response: 230 User logged in, proceed.

(登录成功回复)

 

192.168.123.88        10.16.23.2       TCP  54    1843 → 21 [ACK] Seq=49 Ack=127 Win=8066 Len=0

(确认报文)

 

TCP的编号及确认并观察TCP流量控制的机理。

原理:让发送方的发送速率不要太快,要让接收方来得及接收。

原则:发送方的发送窗口不能超过接收方给出的接收窗口的数值。窗口单位是字节,不是报文段。[通过TCP首部窗口字段(rwnd)调整接收方的发送窗口数值大小]

第三部分 观察ARP协议

1、同二,打开SNORT并记录。

2、在另一命令窗口执行以下命令:

arp –a 观察高速缓存

telnet 192.168.0.3 discard 注:和一个在ARP缓存中不存在的主机进行telnet连接。

quit  

3、分析所捕获的数据包,并且写出arp的全过程。

分析ARP协议的请求包,首先在frame帧中该数据包的大小为42字节,Ethernet部分数据包目的地址是ff:ff:ff:ff:ff:ff,这是一个广播地址会发送当前网段所有设备,接着是arp的请求头部信息,目标mac地址是未知的,因此以全0的形式显示。

分析arp的响应包,主要区别为数据包操作码Opcode为2表明为响应包,发送方的mac地址和ip地址变成目标MAC地址和IP地址,即表示我们已经获取到了对方mac地址了。

 

 

 

 

五、实验心得体会:

通过本实验,熟悉SNORT的使用,通过抓包分析,进一步加深对协议工作过程的理解。对TCP的建立连接过程有了更深入的了解,arp和ftp命令有了进一步的巩固。

 

参考文章

https://shentuzhigang.blog.csdn.net/article/details/106351455

https://blog.csdn.net/LL845876425/article/details/90143936

https://www.cnblogs.com/lsdb/p/10715886.html

https://wenku.baidu.com/view/957a8a4f02020740be1e9ba2.html

https://jingyan.baidu.com/article/e8cdb32b06ce2b37052bad82.html

https://zhidao.baidu.com/question/433879546.html

http://www.360doc.com/content/08/0114/14/25127_972488.shtml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章