《計算機網絡》實驗報告——使用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

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