2)解釋資料包
93-96是兩機通訊完關閉的過程。
建立一個連接需要三次握手,而終止一個連接要經過4次握手。這是因為一個
TCP連接是全雙工(即資料在兩個方向上能同時傳遞),每個方向必須單獨地進行關閉。4次握手實際上就是雙方單獨關閉的過程。
本例文件下載完後,關閉瀏覽器終止了與服務器的連接圖16的93-96行顯示的就是終止連接所經過4次握手過程。
93行資料顯示的是關閉瀏覽器後,如圖17-1所示208號機將FIN置1連同序號(SEQ)987695574發給1號機請求終止連接。
94行資料和圖17-2顯示1號機收到FIN關閉請求後,發回一個確認,並將應答信號設置為收到序號加1,這樣就終止了這個方向的傳輸。
95行資料和圖17-3顯示1號機將FIN置1連同序號(SEQ)1773196056發給208號機請求終止連接。
96行資料和圖17-4顯示208號機收到FIN關閉請求後,發回一個確認,並將應答信號設置為收到序號加1,至此
TCP連接徹底關閉。
3)頭訊息
六、掃瞄實例
下面我們再舉個ping的實例,測試某台電腦是否通,最常用的命令就是ping命令。Ping 一台電腦,出現如圖18所示界面就是通,出現如圖19所示界面就是不通,不通有兩種情況,一是該電腦不存在或沒接網線,二是該電腦安裝了防火牆並設置為不允許ping。如何區別這兩種情況呢?下面還是利用iris跟蹤上述情況。
圖18
圖19
如圖20是ping通的情況。
如圖21是ping不通該電腦不存在的情況。從圖可以看出ARP請求沒有回應。
如圖22是ping不通,該電腦存在但安裝了防火牆的情況。從圖可以看出ARP請求有回應。但ICMP請求沒回應。
從
分析可以看出雖然後兩種情況的表面現象是一樣的,但實質確是截然相反的。通過頭訊息可以清楚的看出PING是
ICMP
協議來完成的,通訊過程是在第三層完成的,沒有用到第四層的
TCP協議。
圖20
圖21
圖22
七、後記
本文不是個教程,許多問題都沒有涉及到,比如
TCP重發、
IP分解、路由等,只是提出個學習思路,希望能起到拋磚引玉的作用。
TCP/
IP協議族是非常複雜的,但只要理解了還是不難學的。最後向感興趣的朋友提個問題:分別telnet三台機器,一台正常23連接阜開放,一台網是通的但23連接阜沒開放,另外一台是不存在的。用我們學過的方法跟蹤一下,比較三個的不同。其實這就是用
TCP掃瞄判斷對方機器是否線上的一種方法。