網路抓包分析
網路抓包分析以對百度等進行資料抓包分析。
由圖可以看出目的ip是119.75.217.26
資料鏈路層分析
可以看出目的mac地址(48:3c:0c:f1:3a:e7)和主機的mac地址(50:2b:73:c0:c9:bf)
TCP報文格式及TCP連線三次握手
三次握手過程
以上是找到的三次握手
第一次握手資料包,A向B傳送請求報文段,首部同步位中SYN=1,並seq=x,表明傳送資料時的第一個資料位元組的序號是x
第二次握手的資料包,B的TCP收到連線請求報文段後,如同意,則發回確認,ACK=1,確認號ack=x+1。同時B向A發起連線請求,應使SYN=1。自己選擇序號為seq=y
第三次握手的資料包,A收到後給B確認,ACK=1,確認號為ack=y+1
這個過程就完成了三次握手
附上一張TCP報文格式的圖
這是圖中的tcp格式
- 源埠號(52386)和目的埠號(443):用於標示和區分源端裝置和目的端裝置的應用程序
- 序列號(Sequence Number):用來標識TCP源端裝置向目的端裝置傳送的位元組流,圖中是1
- 確認號(Acknowledgement number):傳送確認的一端所期望接收到的下一個序列號,因此確認序列號應當是上次成功接收到資料的順序號加1。只有ACK標誌為1時確認序號欄位才有效。圖中是1
- 首部長度(Header length):指出TCP首部共有多少個4位元組,長度在20-60之間,圖中是20
- 標識欄位:Urgent為0,所以不是優先報文;Acknowledgement為1,確認欄位有效;復位RST:表明TCP連結中出現嚴重差錯;同步SYN:表示這是一個連線請求或連線接受報文;終止FIN:用來釋放一個連線
- 校驗和(Checksum):佔2位元組。校驗和欄位檢驗的範圍包括首部和資料,用於校驗TCP報頭部分和資料部分的正確性
- [SEQ/ACK analysis]:迴應客戶機的請求連線申請,時延RTT為0.000055s
IP
附上一張ip的格式圖
這是圖中IP的報文
版本號:標明瞭IP協議的版本號,目前為4
頭部長度:IP報頭的長度。固定部分的長度(20位元組)和可變部分的長度之和。共佔4位。最大為1111,即10進位制的15,代表IP報頭的最大長度可以為15個32bits(4位元組),也就是最長可為15*4=60位元組,除去固定部分的長度20位元組,可變部分的長度最大為40位元組。IP包頭中32bit的數量
服務型別:佔8位,用來獲得更好的服務,但實際上一直沒有被使用過。1998年IETF把這個欄位改名為區分服務DS(Differentiated Services)。只有在使用區分服務時,這個欄位才起作用。
總長度:整個資料包的長度,最長可達65535位元組
標識:IP軟體在儲存器中維持一個計數器,每產生一個數據報,計數器就加1,並將此值賦給標識欄位。但這個“標識”並不是序號,因為IP是無連線服務,資料報不存在按序接收的問題
DF = 1:不允許分片,MF = 0:後面沒有分片
生存時間:設定了資料包可以經過的最多路由器數
協議:1為ICMP,2為IGMP,6為TCP,17為UDP
頭部校驗和:根據IP首部計算的檢驗碼
源IP地址和目的IP地址
ICMP
附上一張ICMP格式
這是一張icmp的報文
型別字元:8 程式碼欄位:0 是回顯請求
校驗和(Checksum)欄位:長度是2位元組,用於資料報傳輸過程中的差錯控制
標識欄位(唯一)
確認號
資料欄位:長度32bit
UDP
附上一張udp格式圖
這是一張我用QQ登入時,抓的udp報文
源埠(4028): 用來傳輸資料包的埠
目標埠: 資料包將要被傳輸到的埠
長度:資料長度47
校驗和
資料:資料包的資料
總結:利用wireshark工具,對網際網路進行抓包分析,使我對iso網路模型有了深刻的理解。課堂上只是老師講解和看書,對知識的理解模稜兩可,就算是記住了都很快忘記,只有實踐過才可真正的理解。wireshark是一個非常強大的抓包工具,懂得利用其中的過濾器等其他功能就可以基本找出想要的結果。本次實驗是用抓取ping和瀏覽器產生的資料包。因為是初次使用wireshark,以上文章可能會有差錯,希望大家能夠指正!