2011年9月7日 星期三

TCP/IP筆試-不同網段的telnet封包

我是直接連到批踢踢來抓包
我想這已經有符合老師要的"不同網段" 以及"telnet”了
先看一下我抓到的封包吧!
image
image
image
截圖只有放重點.中間的封包都省略了!

首先是DNS:

11號封包內容如下:
image
由Client(192.168.0.100)發送到DNS Server(168.95.192.1)的詢問封包
使用Client的49905 port(隨機選取)發送UDP封包到Server的 53 port
內容是詢問ptt.cc這個名稱的IP位址

 

12號封包內容如下:
 image
DNS Server回應了好幾組關於ptt.cc的主機紀錄到Client
同樣的.由DNS Server的53 port發送UDP封包回到Client的49905 port

再來是三向交握:

118號封包的內容如下
image
這個封包是三向交握的第一個封包-- 由Client傳給Telnet Server(從DNS給的IP中隨機選取了140.112.172.4)
目的是主動提出建立連線的要求
client使用的port是隨機選擇的51822port
發送TCP封包到server的23port (telnet預設的port number)
內容只有flag六種控制欄位中的syn欄位
並且sequence=0  length=0
表示資料由編號0開始(也就是這個封包本身).而且data部份的長度是0


119號封包的內容如下:
image
這個封包是由server回應client的封包.也是三向交握的第二步
在這個封包中flag同時會有syn跟ack的欄位
syn欄位是server要告訴client:server這邊的封包從0開始(seq=0)
而ack欄位則是表示: 有收到client傳來.編號0的封包.可以送編號1的封包了(ack=1)
同樣的.這個封包也沒有包含data在內.所以長度一樣為0

120號封包內容如下:
image
由client發送給server
這個封包中旗標的部份只有ack=1 表示告訴server有收到上一個封包 可以傳送Server那邊seq=1的封包了
seq=1則是表示Client這邊的封包目前編號到1
長度同樣為0
而Server收到這個封包之後三向交握就算是完成了
接下來就會由Server開始傳送資料(Telnet封包)過來了!



結束連線的四向交握(半關閉):

image
因為在TELNET軟體中提出了斷線的要求
所以由伺服端送出結束連線的封包
一樣是沒有data只有旗標欄位(fin).長度為0的封包
同時這個封包也包含了ack欄位.表示有收到上一個由client送出的封包


image
client端收到server端結束的要求後
首先會送出ack封包.表示有收到這個訊息
這時候server端到client端的連線就正式斷了
但client端到server端的連線還存在著
也就是說server端還可以接收從client端來的訊號


image
client端隨即會再送出和server端一樣的fin, ack封包
提出要結束連線的要求


image
server端收到後會送出彼此連線間的最後一個封包
表示有收到剛剛由client端提出的要求
同時server和client間的連接到此也已經完全結束了

沒有留言:

張貼留言